상현에 하루하루
개발자의 하루

Traefik Synology 설정 80, 443 포트 에러

( 업데이트: )

Traefik은 기본적으로 80번과 443 포트로 들어오는 정보를 토대로 각 컨테이너로 전달하는 역활을 하게 된다.

하지만 Synology는 기본 80, 443 포트를 사용하고 있어서 Traefik 컨테이너를 생성할 수 없다.

검색을 토대로 찾은 방법중 기존 Synology의 설정을 바꾸지 않는 방법중 하나인 VLAN방법인데 이 방법이 아주 매력적이어서 구성해보려 했지만 실패하였다.

네트워크에 대한 기본 지식이 많이 없어서ㅠㅠ

시도해보려하는 사람은 이 내용을 살펴보면 좋을것 같다.

Deploy Traefik in Docker when port 80 and 443 are already occupied by other serivces on docker host (Synology DS1019+) – Traefik v2 – Traefik Labs Community Forum

그렇다면?

나는 이미 synology에서 web-station, reverse-proxy 두가지를 제거했다.

reverse-proxy는 Traefik이 대채할 것이고 web-station은 각 서비스 docker를 만들 것이니까 나한태는 문제가 없었다.

그래도 시놀로지에서 기본 nginx에 대한 포트는 사용중이기 때문에 이 것을 변경해줘야한다.

HTTP_PORT=80
HTTP_PATCH_PORT=81
HTTPS_PORT=443
HTTPS_PATCH_PORT=444

sed -i “s/^\( *listen .*\)$HTTP_PATCH_PORT/\1$HTTP_PORT/“ /usr/syno/share/nginx/*.mustache
sed -i “s/^\( *listen .*\)$HTTP_PORT/\1$HTTP_PATCH_PORT/“ /usr/syno/share/nginx/*.mustache
sed -i “s/^\( *listen .*\)$HTTPS_PATCH_PORT/\1$HTTPS_PORT/“ /usr/syno/share/nginx/*.mustache
sed -i “s/^\( *listen .*\)$HTTPS_PORT/\1$HTTPS_PATCH_PORT/“ /usr/syno/share/nginx/*.mustacheCode language: Bash (bash)

위 스크립트를 실행하고 포트를 확인하면 된다.

sudo netstat -tulpn | grep LISTENCode language: Bash (bash)

전체 사용 포트를 확인할 수 있고

sudo netstat -tulpn | grep LISTEN | grep ‘:80\|:443’

80번 포트와 443 포트를 필터해서 볼 수 있다.

80번 포트와 443 포트를 변경해줬다면 이제 Traefik 컨테이너를 생성할 수 있다.

👏👏👏👏


참고