QNAP に Nginx リバースプロキシをインストールする手順
(特別感謝:天地極限の大佬による全程指導)
一、準備作業
-
一級ドメインを登録する(アリババ、テンセント、またはhttps://www.namesilo.com、https://www.dynadot.com/ などの海外サイト)
-
CloudFlare アカウントを登録する(https://www.cloudflare.com/)、登録後はメールのリンクをクリックして確認することを忘れないでください。そうしないと後でエラーが発生します。
二、SSHでNginxをインストール
- インストール
docker run -d
--restart=always \
--name=NginxProxyManager \
-e TZ="Asia/Shanghai" \
-p 3081:81 \
-p 3080:80 \
-p 30443:443 \
-v /share/Container/NginxProxyManager/data:/data \
-v /share/Container/NginxProxyManager/cert:/etc/letsencrypt \
chishin/nginx-proxy-manager-zh
- 設定
nas の ip:3081 にアクセスして管理ページに入る
デフォルトのアカウント情報:Email@example.com Password: changeme
入ったらログインメールアドレス、パスワード、その他を自由に変更する
三、CloudFlareの設定
- ホームページにログインし、サイトを追加する。あなたのドメイン名を書き、Free を選択して続行する
- 一連の操作を行い、以下の図のような結果が得られれば、2 つのネームサーバー(dns)をコピーしてメモ帳などに保存しておく
- 登録したドメイン管理のところに行き(テンセントを例に、他は大同小異)、登録したドメインを変更し、カスタム DNS に先ほどコピーした 2 つの dns を入力する
- Cloudflare のホームページに戻り、効果があるか確認する。以下の図のようになれば OK
- このページの右下にある「API トークンを取得」をクリックし、次のページで「トークンを作成」をクリックし、次のページで DNS の編集エリアで「テンプレートを使用」をクリック
- トークンを取得したら、コピーして保存しておき、上のページ(トークン作成のページ)に戻って、一般的なキーも確認し、2 つの秘密鍵をコピーして保存しておく。
- CloudFlare のホームページに戻り、左側の DNS をクリック(なければ、ウェブページの中央のあなたのドメインをクリック)、レコードを追加をクリックし、以下の図の赤枠に従って記入または選択し、他はデフォルトのまま
四、ドメイン解析
- SSH に入り、以下のコマンドを実行して DDNS-GO をインストールする:
docker run -d
--name ddns-go --restart=always --net=host -v /share/Container/ddns-go:/root
jeessy/ddns-go
- インストールが完了したら、nas の IP:9876 にアクセスし、管理画面に入る。以下の図のように記入する:Token は先ほど取得した API トークン、または一般的なキー(私は成功しなかったので API トークンを使用)で、IP 取得方法にはこれを記入する:https://ddns.oray.com/checkip, https://ip.3322.net、Domain には自分のドメインを記入する(例:*.xxx.cn)、左上の save をクリック
- 右上にこの図のようなメッセージが表示されれば、ddns 解析が成功したことを示します
- Cloudflare のページを開いて、左側の DNS をクリックし、以下の図のように以前の 1.1.1.1 があなたのパブリック IP アドレスに変わっていれば、OK です
- この DDNS-GO はデフォルトで外部アクセスが無効になっています。外部からアクセスする必要がある場合は、このページの下部で外部アクセス禁止のオプションのチェックを外し、ユーザー名とパスワードを設定して安全性を確保し、ルーターでポート 9876 を転送します
五、SSL証明書の取得
- Nginx をインストールした nas の ip:3081 にアクセスし、管理ページに入って SSL 証明書を選択し、SSL 証明書を追加する
- 関連情報を記入する。ドメインは登録したドメインで、* を付けることに注意し、下には登録した Cloudflare のメールアドレスを記入し、DNS プロバイダーは Cloudflare を選択し、証明書内容の = の後をあなたの API トークンまたは一般的なトークンに変更(私の一般的なトークンは成功しなかったので API トークンを使用)、同意を選択し、保存する。(この時、プロキシをかける必要があり、そうしないとタイムアウトエラーが発生します)
- 以下の図が表示されれば、証明書の取得が成功したことを示します
- 「custome」フォルダー(リンク:https://pan.baidu.com/s/1Xkk1oe7ERoaNA_FvEfW33w 提取码:q8zf)をコンテナディレクトリにコピーし、最終的なディレクトリは Container\NginxProxyManager\data\nginx\custom になります
-
ContainerStation コンテナ内で Nginx を再起動する
-
ルーターに入り、ポート転送を行い、888 を QNAP の ip の 30443 にマッピングする
六、リバースプロキシ
- ip:3081 にアクセスし、nginx 管理画面に入り、プロキシサービスを追加し、詳細を記入する
- SSL 設定で、申請した証明書を選択し、下の 2 つのオプションにチェックを入れ、保存する
最後の結果
- 外部アクセスアドレス qb1.xxxxx.cn:888(注意::888を追加すること)、888 を変更する必要がある場合は、custom 下の CONF ファイルを変更する
**4.**特に注意:
(1) qb 使用時の注意事項
(2) 为知笔记の注意事項
コード内の IP アドレスを自分のローカルネットワークのアドレス + ポートに変更する
(3) heimdall の注意事項
Heimdall をデプロイした後、nginx リバースプロキシを通じてアクセスすると、ページが正常に表示されない場合、以下のようになります:
解決策:
プロキシサービスを編集 —— カスタム設定で、位置 location に "/"(スラッシュ 1 つ)を入力し、転送先ホスト IP、転送先ホストポートを自分の関連設定に記入し、隣の歯車をクリックし、下のボックスに以下を追加:
proxy_set_header X-Forwarded-Host $http_host; (セミコロンを忘れずに)
作業をコピー:
location / {
proxy_pass http://192.xxx.xx.:1234; (ここはあなたの内網IP:ポートに変更する必要があります)
proxy_set_header Host $http_host;
proxy_redirect http:// https://;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Scheme $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_http_version 1.1;
}
保存をクリックすれば完了です。