• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글

nas에서 docker 웹서버 포트 문제 80,443

ksk 1003

0

8

DS920+모델 사용중이고 docker로 웹서버 구축중입니다.

컨테이너 이미지설정에서 로컬 포트를 80과 443으로 설정하면  다른 서비스에서 사용하는 포트와 충돌한다다고 나옵니다. 

현재 nginx 기본포트 80,443은 다른포트로 변경해놓은 상태고 

putty를 통해 나스에서 사용중인 전체 포트를 확인해봐도 

sudo netstat -tulpn | grep LISTEN 

80과 443포트를 사용중인 프로세스는 없고

sudo netstat -tulpn | grep LISTEN | grep ‘:80\|:443’ 으로
 80과 443 만 검색해보아도 나오는 것이 없습니다. iptime 공유기를 사용하는데 UPnP 도 해제된 상태입니다.

같은 문제 겪는 분이나 해결책 아시는분 계실까요...?

신고공유스크랩
8
profile image 1등
달소 2022.08.31. 11:24

기본 웹 스테이션으로 예약되어있는 포트가 80/443이라서 그런걸로 알고있습니다.(역방향프록시 등)

도커에서 포트를 88:80 과같이 할당하고 역방향프록시를 쓰시는걸 추천드립니다

ksk 글쓴이 2022.08.31. 16:55
달소

Visual Studio 2022의 .net core 웹서버를 docker 이미지로 돌리려고 하는데 소스상 80과 443을 바로 받아야 해서 가능한지 모르겠습니다.

profile image 2등
quad 2022.08.31. 12:36

웹스테이션, DS photo, Synology Drive Server 가 80,443 포트를 사용합니다.

88도 directory server 가 사용을 하니 8080 같은 것을 사용하면 됩니다.

위의 달소님 말씀처럼 8080:80 해서 웹서버로 할당하고, http://도메인 이렇게 요청이 들어오면 npm 같은 역방향 프록시를 사용해서 그 요청을 8080으로 보내면 npm이 80으로 보내줍니다.

아래의 두개의 글이 도움이 되겠네요^^

https://svrforum.com/nas/321989

https://svrforum.com/svr/382232

ksk 글쓴이 2022.08.31. 16:54
quad

위 패키지들은 삭제되어있고 File Station 하나 쓰고 있습니다. 그런데 ssh에서 사용포트조회했을때 80,443이 표시가 안되는데도 충돌일어날 수 있나요?

profile image
quad 2022.08.31. 18:31
ksk

충돌이라기 보다는 "사전 정의" 정도로 봐야겠네요.

 

시놀로지는 웹 기반으로 운영하지요. 운용을 위한 DSM도 80포트는 아니고 5000, 5001 포트를 쓰지만 웹브라우저를 통해서 접속하지요. 이 시놀로지의 웹서비스를 가능하게 해주는 시놀로지의 웹서버는 nginx입니다.

그럼 nginx.conf 파일이 어딘가에 있겠죠?

 

SSH 여신 김에 cat /etc/nginx/nginx.conf 해서 보시면,

listen 80 default_server;

listen [::]:80 default_server;

요렇게 되어 있습니다.

 

나중에 DS photo나 이런 놈들이 이 80포트를 요청해 오더라도 대응하기 위해서 침 발라둔 것이지요.

아마도 시놀로지 나스 사용자들의 90% 이상은 스스로 이 nginx.conf 파일을 수정 할 수 있을 정도로 잘 다루지 못 할 테니까요.

 

설령 웹서비스 구축에 능숙하다고 하더라도 우분투나 윈도우에 설치하는 것이 아니라면 다른 서비스들과 마구 섞여 돌아가는 시놀로지 서버에서 nginx.conf 파일을 건드리고 싶지는 않죠. 그래서 8080:80 이렇게 해 주고 역방향 프록시를 쓰는 것이지요.

그래서 아예 시놀로지 내부에 역방향 프록시 기능을 넣어 놓았습니다. 그런데 그게 사용하기가 좀 불편해서 nginx proxy server 를 도커에 올려서 쓰는 것이고요.

3등
ksk 글쓴이 2022.09.01. 11:43

cat /etc/nginx/nginx.conf 으로 보면

------------

server {

listen 81;

listen [::]:81;

------------

server {

listen 444 default_server ssl;

listen [::]:444 default_server ssl;

server_name _;

------------

으로 나옵니다.

역방향 프록시를 사용해서 다른포트로 지정해놓고 다시 돌리면 실제 웹서버 실행시 wss에러 등이 발생하는데 ssl이 필요한 모든 wss트래픽을 다 받을 수 있는건가요?

 

profile image
quad 2022.09.01. 12:40
ksk

그렇습니다.

 

nginx.conf 의 내용은 80, 443으로 수정해야 할 것 같고...

 

역방향 프록시는, 포트를 받아서 서비스로 연결하는 것이 아니고, 서비스 명을 받아서 그 서비스가 열어 놓은 포트로 연결시켜 주는 것이므로 프록시가 와일드 카드 ssl 인증서를 발급받으면 모든 서브 도메인에 적용시켜 줍니다.

 

공유기는 80과 443 두개만 열고 그 내부 IP가 역방향 프록시가 돌아가고 있는 IP를 가리키도록 하고요.

 

예를들어,

http://192.168.0.100:88 이 http://aaa.domain.com 이고

http://192.168.0.100:99 가 http://bbb.domain.com 이라면,

 

*.domain.com 으로 ssl 인증서를 발급받으면, 그 인증서를 역방향 프록시에 등록해 두고,

http://aaa.domain.com 으로 요청이 들어오면(80) 인증서 적용하여 http://192.168.0.100:88 로 연결해 주고(80 -> 88),

http://bbb.domain.com 으로 요청이 들어오면(80) 인증서 적용하여 http://192.168.0.100:99 로 연결해 주는(80 -> 99) 것입니다.

쁘스러기 2022.11.18. 16:17
quad

도커에서 프로그램이 정상으로 설치가 되야 역방향이든 정방향이든 뭔가 설정을 해야되는데 도커에서 제대로 설치 안되서 질문을 올리셨는데 자꾸 정상적으로 설치되어있는 상태로 답변글이 올라오네요^^;; 저도 도커 전문가는 아니지만 대부분 유료나 유명한 도커로 된 프로그램은 80이든443이든 미리설치되어 있어도 한방에 제대로 설치되고 ssl 쉽게 적용되는데 그외는 이게 도커인지 네커티브인지도 모를정도의 꼭 80포트에 443을 원하는 도커프로그램들이 있습니다. 도커유저 입장에서는 아주 못된? 호기심만 자극하는 도커프로그램들이 존재합니다.

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story

등록된 글이 없습니다.