NGINX 웹서버 리버스 프록시 적용

콜트·2021년 3월 18일
0

Edit. 앱 개발기

목록 보기
6/11
post-thumbnail

서버를 구성하면서 웹서버로 NGINX를 사용했는데, 도메인에 리버스 프록시를 적용했던 과정에 대해 간단히 정리하고자 한다. 왜 사용하는지와 같은 자세한 내용은 추후에(학습을 통해) 자세히 정리해보도록 하겠다.

Web Server와 WAS의 차이와 웹 서비스 구조 에 개념적인 정리가 잘 되어있는데, 참고하면 좋을 것 같다.

NGINX 설정

방법은 정말 간단하다. NGINX 설정 파일에 설정을 추가해주면 된다.
특별히 어떤 설정을 추가하지 않고 NGINX를 설치했다면(필자는 우분투를 사용했다) 아래와 같은 경로에 default라는 설정 파일이 있을 것이다.


default 라는 파일을 sudo vi /etc/nginx/sites-available/default 명령어를 통해 열어보면 아래와 같이 설정을 확인할 수 있다. 처음 설정 파일과 마주하면 조금 다른 형태이긴 하겠지만, 아래와 같이 변경해주면 된다.

1. 도메인 설정

위 사진에서 1번에 해당한다. server_name 부분에 리버스 프록시를 적용하고자 하는 도메인을 입력해준다.

2. 리버스 프록시 설정 추가

2번으로 표시해둔 location / { } 설정 내부에 [ ]로 표시해둔 코드블럭을 그대로 입력해준다. 이때 http://localhost:9002; 부분에서 9002는 우리가 서버에서 실행할 Spring Boot의 포트번호를 입력해줘야 한다. 이때 location / { }root(/) 로 요청이 들어오면 어디와 연결해줄지를 정의한다고 보면 된다. 여기서는 9002 포트로 요청을 넘겨준다.

3. 404 페이지(?) 주석처리

이녀석 때문에 엄청 삽질했다. 위 사진에 로 표시해둔 3번 부분이다. 간단하게 이해한 바를 써보자면, NGINX 서버로 요청이 들어왔을 때, 먼저 NGINX 웹서버에서 해당 uri의 파일을 찾게되는데 이때 웹서버에 존재하지 않을 경우 404 Not Found 페이지를 보여주게 된다. 따라서 주석처리를 해주어야 제대로 된 요청 페이지를 볼 수 있게 된다.

참고!

정확하게는, 정적인 페이지를 검색하는 듯 하다. 찾았는데 없으면 404를 리턴하는 형식. 만약 정적인 페이지를 사용한다면 다른식으로 처리해줘야 할 것이다.


참고자료


profile
개발 블로그이지만 꼭 개발 이야기만 쓰라는 법은 없으니, 그냥 쓰고 싶은 내용이면 뭐든 쓰려고 합니다. 코드는 깃허브에다 작성할 수도 있으니까요.

0개의 댓글