snaag / TIL

https://github.com/snaag/todo3/issues
3 stars 0 forks source link

22-12-19-MON #29

Open snaag opened 1 year ago

snaag commented 1 year ago
snaag commented 1 year ago

NGINX 로 reverse proxy 만들기 > TODO LIST

NGINX

snaag commented 1 year ago

NGINX 로 reverse proxy 만들기 > AWS - EC2 인스턴스

인스턴스 만들기

보안그룹 설정

image
snaag commented 1 year ago

NGINX 로 reverse proxy 만들기 > nginx 에서 요청할 찐(?) 서버 만들기

https://expressjs.com/

전체 구조

스크린샷 2022-12-20 오전 3 03 02

서버 만들기

snaag commented 1 year ago

NGINX 로 reverse proxy 만들기 > NGINX

Proxy 참고자료

https://bcp0109.tistory.com/194 👍🏻👍🏻👍🏻👍🏻

NGINX 설치

# Install the prerequisites:
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring

# Import an official nginx signing key so apt could verify the packages authenticity. Fetch the key:
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
    | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

# Verify that the downloaded file contains the proper key:
gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg

# 결과물이 이렇게 나와야 함, 만약 다르다면 파일 삭제해야 함
pub   rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
      573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
uid                      nginx signing key <signing-key@nginx.com>

# stable nginx package 를 설치하길 원한다면 or...
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list

# mainline nginx package 를 설치하길 원한다면 or... (난 요거, 하지만 용도에 따라 다름)
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list

# 배포판에서 제공하는 패키지보다 우리의(?) package 를 설치하길 원한다면.
# (Set up repository pinning to prefer our packages over distribution-provided ones)
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
    | sudo tee /etc/apt/preferences.d/99nginx

# nginx 설치
sudo apt update
sudo apt install nginx

NGINX 구동

# nginx 설치 확인 및 버전 확인
sudo nginx -v

# nginx 구동
sudo service nginx start

# nginx 종료
sudo service nginx stop
  1. nginx 세팅
    • nginx.conf
    • default.conf

reverse proxy 설정 위한 default.conf 파일 수정

https://msyu1207.tistory.com/entry/AWS-EC2%EC%97%90-NGINX-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0

# nginx.conf 파일 찾기
sudo find / -name nginx.conf

# nginx.conf 파일 보기
sudo vi (경로)

# nginx.conf 파일에서 reverse proxy 설정 위한 default.conf 파일 찾기

# 해당 파일로 이동
sudo vi /etc/nginx/conf.d/default.conf
server {
    listen        80;
    server_name _;
    location / {
        proxy_pass         http://localhost:5000;
        proxy_http_version 1.1;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection keep-alive;
        proxy_set_header   Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
    }
}

결과

스크린샷 2022-12-20 오전 3 17 18