Nginx 리버스 프록시 설정으로 포트번호 숨기기

mj·2025년 2월 13일
0

ktb

목록 보기
26/27

🥕 http://43.201.63.125:8000 포트 없애기

블루그린배포 동작방식에 대해서는 이해했는데, 이걸 구현하는건 도무지 어떻게 구현해야하는지 감이 안잡혀서 우선 포트숨기기 실습부터 해보기로 했다.

  • 구현하고자 하는 것 :
    기존에 http://43.201.63.125:8000으로 포트번호를 지정해 접속해야했던것을 http://43.201.63.125 으로 접속할 수 있도록 변경한다.

이에 앞서 먼저 nginx 설정 파일에 대해 공부해보자.

📖 nginx 설정 파일

  • 기본 설정 파일 : /etc/nginx/nginx.conf
  • nginx 디렉토리 구조
    • /etc/nginx/**conf.d**/ : 추가 설정 파일을 저장하는 디렉토리 (기본적으로 포함됨)
    • /etc/nginx/**sites-available**/ : 설정 파일을 저장하는 디렉토리 (활성화 X, nginx에 반영X)
    • /etc/nginx/**sites-enabled**/ : 활성화된 설정을 저장하는 디렉토리 (sites-available의 심볼릭 링크를 추가함) (활성화 O, nginx에 반영O)
      https://computer-science-student.tistory.com/737



1. test.conf 생성

/etc/nginx/sites-available/

sudo vim test.conf
server {
    listen 80;

    location / {
        proxy_pass http://43.201.63.125:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

2. 심볼릭 링크 설정

sites-available에서 생성한 test.conf 설정파일을 sites-enabled에 심볼릭 링크로 연결시켜주어야 실제로 적용된다.

sudo ln -s /etc/nginx/sites-available/test.conf /etc/nginx/sites-enabled/

sites-enabled에도 test.conf가 생성된것을 확인할 수 있다.

ubuntu@express:/etc/nginx/sites-enabled$ ls -a
.  ..  default  test.conf

❓ 심볼릭 링크(Symbolic Link)
파일 시스템에서 파일이나 디렉토리에 대한 참조(Reference)를 만들어주는 특별한 파일입니다. 이를 통해 하나의 파일이나 디렉토리를 마치 다른 위치에도 존재하는 것처럼 연결해서 사용할 수 있습니다.
쉽게 말해, 바로 가기(shortcut) 같은 역할을 한다고 보면 됩니다.
심볼릭 링크는 원본 파일의 경로를 참조합니다. 따라서 원본 파일이 삭제되거나 이동되면 링크가 깨집니다.

3. 설정파일 문법 확인

파일을 수정한 후, Nginx 설정에 오류가 없는지 확인하려면 아래 명령어로 문법을 확인합니다.

sudo nginx -t

이 명령어는 설정 파일에 문법 오류가 있는지 체크합니다. 오류가 없다면 "syntax is ok"와 "test is successful" 메시지가 표시됩니다.

4. nginx 재시작

sudo systemctl restart nginx

5. 여전히 Welcome to nginx! 페이지가 나오고있는 문제

ubuntu@express:/etc/nginx/sites-available$ ls
default  test.conf

test.conf가 설정파일로 적용이 되지 않았다는 뜻이다.

기본 사이트 비활성화 :
/etc/nginx/sites-enabled 디렉터리에서 기본 설정 파일(default)을 비활성화해야한다. (sites-available의 default는 원본, sites-enabled의 default는 원본경로를 참조하는 심볼릭링크)

sudo rm /etc/nginx/sites-enabled/default

6. 링크 확인

sudo systemctl restart nginx

으로 nginx 재시작해준 뒤에, http://43.201.63.125 로 접속한다.

http://43.201.63.125:8000 으로 접속했을때와 동일한 화면이 나타나는 것을 확인할 수 있다.

profile
일단 할 수 있는걸 하자.

0개의 댓글

관련 채용 정보