Nginx 를 위한 도커 파일 생성

홍태경·2021년 5월 25일
0

클라이언트가 서버로 들어가기 전

Nginx(Proxy)를 이용하여 Front와 Backend서버로 나눠 주는 역할을 한다

의문점) 그럼 Nginx는 레스트플한 api 역할을 하는건가?.. alb..와 같이?

nginx >
default.conf : 환경설정
Dockerfile : 운영환경
Dockerfile.dev의 개발환경과 운영서버가 동일 하므로 dev는 뺸다.

# 3000번 포트에서 frontend가 돌아가고 있다는 것을 명시
upstream frontend{
    server frontend:3000;
    }
# 5000번 포트에서 backend서버가 돌아가고 있다는 것을 명시
upstream backend {
    server backend:5000;
}
# nginx 서버 80번으로 열기
server {
    listen 80;
}

''' 로케이션에는 우선 순위가 있는데 / 되는것만 우선순위가 가장 낮다. 그래서 여기서는 /api 로 시작하는 것을 먼저 찾고
그게 없다면 / 이렇게 시작되는 것이니 요청을 http://frontend로 보자
'''
    location / {
        proxy_pass httpL//frontend;

    }
'''
/api로 들어오는 요청을 http://backend로 보내줍니다.
'''
    location /api {
        proxy_pass http//backend;
        }

# 이 부분이 없다면 sockjs-node failed: Error가 나온다 
location /sockjs-node {
    proxy_pass http://frontend;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";

}

profile
나의 에고를 인정하고 사랑하자

0개의 댓글