갬미의 성장일기

[Docker] nginx 포트포워딩에 대해 깨달은 점,, 본문

기타/로그

[Docker] nginx 포트포워딩에 대해 깨달은 점,,

갬미 2022. 3. 12. 14:14

(멍청주의,,)

이번주 과제중에 이런문제가 있었다

- Docker compose로 3tier (web - was - db) 환경을 구성하되 web 사용 포트는 8000번으로 설정할것 

 

web 서버는 nginx를 사용했으며 문제를 봤을때 default.comf 파일을 수정하면 된다고 생각했다 !

해당 파일을 보면 다음과 같이 구성되어 있는데 

server의 listen이 nginx가 80 포트로 오는걸 보고 있다가 어떠한 활동을 하겠다는 뜻이다

 

과제에 따라 일단 3iter 구성에서 다음과 같이 포트포워딩을 했다

외부 클라이언트가 8000으로 접속하면 nginx가 있는 80으로 포워딩 해주겠다는 뜻인데

이걸 머리로는 받아들이고 가슴으론 그러지 못했는지 

nginx의 server listen 을 8000으로 해놓고 왜 접속이 안되냐고 ! 광광거렸다 

 

어어,, 다행히 이유를 알아서 위 두개 사진처럼 nginx default.conf 파일과 docker-compose.yml 을 구성했고 잘 접속이 된다 ^^..

nginx에는 설정 conf파일이 두개가 있는데 

하나는 nginx.conf 이고 다른 하나는 default.conf 파일이다 

만약 nginx.conf 파일을 수정한다면 default.conf 파일을 참조하는 부분을 주석처리해야하고,

default.conf 파일을 수정한다면 그냥 하면 된다

 

이 두 파일의 내용을 잘 설명해 놓은 포스트가 있어 공유한다!

https://phsun102.tistory.com/45

 

Nginx 설치 및 nginx.conf, default.conf 이해하기

1. Nginx란? 가볍고 높은 성능을 가진 웹 서버 (Web Server) 이다. HTTP Server로 활용되며 정적 파일들을 처리하기 위해 사용된다. Reverse Proxy Server로 활용된다. 80번 포트로 들어오는 내용을 3000, 4000,..

phsun102.tistory.com

 

++

추가로 이렇게 port 를 지정할 경우에 로그인할때 8000포트가 갑자기 빠지는 문제가 생긴다,,!

내가 임의로 8000포트를 지정하면 문제가 해결되었는데 

로그인할때 접속이 잠시 안되는것 빼고는 다른 문제는 없었다 (DB 서버에서도 데이더 잘 보임)

왼- 로그인 창 여기서 초록 버튼을 누르면 8000포트가 떨어지고 연결이 끊긴다.
임의로 8000을 넣으면 로그인이 되어있다 

강사님께 여쭤보았는데 자바 이슈이지만 이를 해결하기 위해 포트포워딩을 조금 다르게 설정해보라고 귀뜸해주셨고, default.conf 파일과 docker-compose.yml 포트 포워딩 부분을 조금 수정하니 해결되었다

- 구성 방법만 맞으면 된다고 하셨지만 해결해주셔서 감사했다 ㅎㅎ

(이렇게도 한번 해볼까? 했지만 평소와 약간 다른 방법이어서 하지 않았는데 이게 맞았었다! 강사님께 여쭤보지 않았다면 해결하지 못했을것같다) 

 

월요일에 이유를 알려주신다고 하셨으니 이유를 알고나서 추가로 업데이트 하겠다! 

Comments