
要在 Synology NAS 上使用反向代理 Traefik v2 運行 docker,我需要能夠使用主機系統上的連接埠 80 和 443。 NAS DSM 的作業系統使用自己的反向代理 nginx,它會嘗試自行佔用連接埠。在 DSM 6.2 下,我可以使用啟動腳本 (change-ports.sh) 來變更連接埠 80 和 443,如所述這裡,這樣連接埠就可以釋放並可以被 docker Traefik 反向代理使用。
#! /bin/bash
HTTP_PORT=81
HTTPS_PORT=444
sed -i "s/^\( *listen .*\)80/\1$HTTP_PORT/" /usr/syno/share/nginx/*.mustache
sed -i "s/^\( *listen .*\)443/\1$HTTPS_PORT/" /usr/syno/share/nginx/*.mustache
將 Synology NAS 918+ 升級到 DSM 7 後,我無法再「釋放」連接埠 80 和 443。
問題是,如何在新作業系統 DSM 7 下使用連接埠 80/443 再次存取 docker 反向代理 Traefik。
答案1
看起來設定檔現在直接儲存在 /etc/nginx 中
以下對我有用:
#! /bin/bash
HTTP_PORT=81
HTTPS_PORT=444
sed -i "s/^\( *listen .*\)80/\1$HTTP_PORT/" /etc/nginx/nginx.conf*
sed -i "s/^\( *listen .*\)443/\1$HTTPS_PORT/" /etc/nginx/nginx.conf*
我基本上改變了腳本中 nginx-config 的位置。其他一切都一樣。現在 traefik 又可用了。