-
How to configure nginx as reverse proxy for node.js(express) with aws ec2.Backend 2019. 12. 18. 16:31
node.js express memory optimization 관련해서 정보를 찾던 중
reverse proxy 레벨에서 압축(gzip)을 사용하면 도움이 된다는 사실을 알게 되었다.
그래서 내 프로젝트에 nginx로 reverse proxy를 구현하고자 한다.
express 서버는 3000포트를 사용한다.
nginx에서 8000포트로 들어오는 요청을 127.0.0.1:3000로 포워드한다.
대략 아래와 같은 구조로 만들려고 한다.
이렇게하면 요청이 Nginx를 거쳐서 접근이 되기 때문에
내부 서버의 포트를 외부로부터 숨길 수 있다.
(이 글에선 node express 서버 구축과 aws 인프라 설정은 생략하겠다.)
먼저 nginx conf 파일을 아래와 같이 생성하자.
$ nano /etc/nginx/sites-available/domain.kr
// /etc/nginx/sites-available/domain.kr server { listen 8000; server_name _; location / { proxy_redirect off; proxy_pass_header Server; proxy_set_header host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Scheme $scheme; proxy_pass http://127.0.0.1:3000; } }
이제 8000포트로 들어오는 요청은 127.0.0.1:3000으로 포워딩된다.
$ ln -s /etc/nginx/sites-available/domain.kr /etc/nginx/sites-enable/domain.kr
$ service nginx restart
접속을 해보자
:443
:4433
정상적으로 동작하는걸 확인 할 수 있다.
'Backend' 카테고리의 다른 글
helm 설치 후 자동완성 기능 추가 (0) 2023.04.10 [node] How to limit the HTTP request size and upload file size? (0) 2022.06.30 [ssl] 가상서버 nginx에 ssl(https) 적용시키기 (feat. cafe24) (0) 2021.12.23 How to configure gzip on Nginx? (0) 2019.12.18 [개념] 마이크로 서비스 아키텍처 (Micro Service Architecture) (0) 2019.07.30