
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 を「解放」できなくなりました。明らかにスクリプトは機能せず、Nginx (DSM から) が常にポートをブロックしています。
問題は、新しい OS 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 が再び利用可能になりました。