{"id":1557,"date":"2023-05-01T22:05:00","date_gmt":"2023-05-01T14:05:00","guid":{"rendered":"https:\/\/blog.newnaw.com\/?p=1557"},"modified":"2023-05-02T02:07:49","modified_gmt":"2023-05-01T18:07:49","slug":"%e5%a8%81%e8%81%94%e9%80%9a-nas-%e4%b8%ad%e4%bd%bf%e7%94%a8-nginx-proxy-manager-%e5%8f%8d%e5%90%91%e4%bb%a3%e7%90%86%e5%a4%9a%e4%b8%aa-docker-%e5%ba%94%e7%94%a8","status":"publish","type":"post","link":"https:\/\/blog.newnaw.com\/?p=1557","title":{"rendered":"\u5a01\u8054\u901a NAS \u4e2d\u4f7f\u7528 Nginx Proxy Manager \u53cd\u5411\u4ee3\u7406\u591a\u4e2a docker \u5e94\u7528"},"content":{"rendered":"\n<p>\u3000\u3000\u524d\u4e00\u9635\u5728\u5a01\u8054\u901a QNAP \u7684 NAS \u4e2d\u901a\u8fc7 docker \u5b89\u88c5\u4e86\u00a0<a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/Yidadaa\/ChatGPT-Next-Web\" target=\"_blank\">ChatGPT-Next-Web<\/a>\u00a0\u8fd9\u4e2a\u9879\u76ee\uff0c\u7ed9\u670b\u53cb\u5206\u4eabChatGPT\u4f7f\u7528\uff0c\u4f46\u8fd9\u4e2a web \u9879\u76ee\u672c\u8eab\u4e0d\u6d89\u53caSSL\u8bc1\u4e66\u7684\u914d\u7f6e\uff0c\u4e8e\u662f\u5e94\u7528\u4e00\u76f4\u8dd1\u5728\u672a\u52a0\u5bc6\u7684 HTTP \u534f\u8bae\u4e0b\uff1b\u52a0\u4e0a\u4e4b\u524d\u7684\u53e6\u4e00\u4e2a docker \u5a92\u4f53\u64ad\u653e\u5e94\u7528\u00a0<a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/nyanmisaka\/jellyfin\" target=\"_blank\">Jellyfin<\/a>\uff0c\u76ee\u524d\u5df2\u7ecf\u5728\u8def\u7531\u5668\u4e0a\u8bbe\u7f6e\u4e86\u591a\u4e2a\u7aef\u53e3\u8f6c\u53d1\uff0c\u9700\u8981\u901a\u8fc7\u8bb0\u5fc6\u7279\u5b9a\u7aef\u53e3\u6765\u6253\u5f00\u5bf9\u5e94\u7684\u5e94\u7528\u3002\u6709\u6ca1\u6709\u4ec0\u4e48\u529e\u6cd5\u80fd\u540c\u65f6\u89e3\u51b3\u8fd9\u4e24\u4e2a\u95ee\u9898\u5462\uff1f\u663e\u7136 Nginx \u6765\u505a\u53cd\u5411\u4ee3\u7406\u518d\u5408\u9002\u4e0d\u8fc7\u4e86\u3002\u4f46\u8fd9\u6b21\u8df3\u8fc7\u624b\u5199\u914d\u7f6e\u6587\u4ef6\uff0c\u6211\u4eec\u4f7f\u7528\u00a0<a rel=\"noreferrer noopener\" href=\"https:\/\/nginxproxymanager.com\/\" target=\"_blank\">Nginx Proxy Manager<\/a>\u00a0\u6765\u8fbe\u5230\u76ee\u7684\u3002<\/p>\n\n\n\n<h1>\u76ee\u7684<\/h1>\n\n\n\n<p>\u3000\u3000\u73b0\u72b6\uff1a<\/p>\n\n\n\n<ul>\n<li>docker\u8fd0\u884c\u7684ChatGPT-Next-Web\u6ca1\u6709\u8bbe\u7f6eSSL\u8bc1\u4e66\uff0c\u4e0d\u652f\u6301HTTPS\u8bbf\u95ee\u3002<\/li>\n\n\n\n<li>\u5916\u7f51\u8bbf\u95eeNAS\u91cc\u7684\u5e94\u7528\u65f6\uff0c\u9700\u8981\u8bb0\u4f4f\u8def\u7531\u5668\u4e0a\u8f6c\u53d1\u7684\u5bf9\u5e94\u7aef\u53e3\u3002\u6bd4\u5982\uff1a<a rel=\"noreferrer noopener\" href=\"http:\/\/mydns.myqnapcloud.com:5080\/\" target=\"_blank\">http:\/\/mydns.myqnapcloud.com:5080<\/a>&nbsp;\u6253\u5f00 ChatGPT \u5e94\u7528\uff0c&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/mydns.myqnapcloud.com:7443\/\" target=\"_blank\">https:\/\/mydns.myqnapcloud.com:7443<\/a>&nbsp;\u6253\u5f00 Jellyfin \u5e94\u7528\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u3000\u3000\u8981\u5b9e\u73b0\u7684\u76ee\u7684\uff1a<\/p>\n\n\n\n<ul>\n<li>docker\u4e2d\u8fd0\u884c\u7684\u5e94\u7528\u90fd\u53ef\u4ee5\u901a\u8fc7 HTTPS \u65b9\u5f0f\u8bbf\u95ee\u3002<\/li>\n\n\n\n<li>\u901a\u8fc7\u4e0d\u540c\u7684\uff08\u5b50\uff09\u57df\u540d\u8bbf\u95ee\u5bf9\u5e94\u7684\u5e94\u7528\uff0c\u65b9\u4fbf\u8bb0\u5fc6\u3002\u6bd4\u5982\uff1a\u00a0<a rel=\"noreferrer noopener\" href=\"https:\/\/chat.mydomain.com:7443\/\" target=\"_blank\">https:\/\/chat.mydomain.com:7443<\/a>\u00a0\u6253\u5f00 ChatGPT \u5e94\u7528\uff0c\u00a0<a rel=\"noreferrer noopener\" href=\"https:\/\/jellyfin.mydomain.com:7443\/\" target=\"_blank\">https:\/\/jellyfin.mydomain.com:7443<\/a>\u00a0\u6253\u5f00 Jellyfin \u5e94\u7528\u3002\n<ul>\n<li>\u6ce8\uff1a\u56e0\u4e3a\u8fd0\u8425\u5546\u5c4f\u853d 80 \u548c 443 \u7aef\u53e3\uff0c\u6240\u4ee5\u4f60\u9700\u8981\u9009\u62e9\u4e00\u4e2a\u975e\u9ed8\u8ba4\u7aef\u53e3\u6765\u6253\u5f00\u4f60\u7684\u5e94\u7528\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h1>\u5177\u4f53\u6b65\u9aa4<\/h1>\n\n\n\n<p>1. docker \u5b89\u88c5\u00a0<a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/NginxProxyManager\/nginx-proxy-manager\" target=\"_blank\">Nginx Proxy Manager<\/a>\u00a0\u3002\u6211\u8fd9\u91cc\u4f7f\u7528 docker compose \u65b9\u5f0f\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>version: '3.3'\nservices:\n  nginx-proxy-manager:\n    container_name: nginx-proxy-manager\n    image: 'jc21\/nginx-proxy-manager:latest'\n    restart: unless-stopped\n    ports:\n      - '9080:80' # \u76d1\u542c\u7684 HTTP \u7aef\u53e3\n      - '9081:81' # \u7ba1\u7406\u9875\u9762\u7684\u7aef\u53e3\n      - '9443:443' # \u76d1\u542c\u7684 HTTPS \u7aef\u53e3\n    volumes:\n      - \/share\/Container\/nginxProxyManager\/data:\/data\n      - \/share\/Container\/nginxProxyManager\/letsencrypt:\/etc\/letsencrypt <\/code><\/pre>\n\n\n\n<p>2. \u901a\u8fc7 http:\/\/&lt;nasIP>:9081 \u767b\u9646 Nginx Proxy Mananger\uff0cSSL Certificates \u9875\u9762\u7ed9\u60f3\u8981\u5206\u914d\u7ed9\u5e94\u7528\u7684\u57df\u540d\u7533\u8bf7 SSL \u8bc1\u4e66\u3002<\/p>\n\n\n\n<ul>\n<li>\u9ed8\u8ba4\u7528\u6237\u540d\u5bc6\u7801\u662f\u00a0<a rel=\"noreferrer noopener\" href=\"mailto:admin@example.com\" target=\"_blank\">admin@example.com<\/a>\/changeme\uff0c\u9996\u6b21\u767b\u9646\u9700\u8981\u4fee\u6539\u3002<\/li>\n\n\n\n<li>mydomain \u662f\u4f60\u63d0\u524d\u6ce8\u518c\u597d\u7684\u57df\u540d\u3002\u6211\u7684\u57df\u540d\u6258\u7ba1\u5728 CloudFlare\uff0c\u6240\u4ee5 DNS Provider \u5904\u9009\u62e9 Cloudflare\uff1b\u53e6\u5916\u9700\u8981\u5728 CloudFlare \u63d0\u524d\u8bbe\u7f6e\u597d API token \u586b\u5165\u4e0b\u56fe\u5bf9\u5e94\u4f4d\u7f6e\u3002<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/blog.newnaw.com\/wp-content\/uploads\/2023\/05\/NPM-add-certificates-2048x1758.png\" alt=\"\" class=\"wp-image-1558\" width=\"643\" height=\"552\" srcset=\"https:\/\/blog.newnaw.com\/wp-content\/uploads\/2023\/05\/NPM-add-certificates-2048x1758.png 2048w, https:\/\/blog.newnaw.com\/wp-content\/uploads\/2023\/05\/NPM-add-certificates-300x258.png 300w, https:\/\/blog.newnaw.com\/wp-content\/uploads\/2023\/05\/NPM-add-certificates-768x659.png 768w, https:\/\/blog.newnaw.com\/wp-content\/uploads\/2023\/05\/NPM-add-certificates-1536x1318.png 1536w, https:\/\/blog.newnaw.com\/wp-content\/uploads\/2023\/05\/NPM-add-certificates-800x687.png 800w, https:\/\/blog.newnaw.com\/wp-content\/uploads\/2023\/05\/NPM-add-certificates-1200x1030.png 1200w\" sizes=\"(max-width: 643px) 100vw, 643px\" \/><\/figure>\n\n\n\n<p>3. \u5c06\u4f60\u7684\u57df\u540d DNS \u8bb0\u5f55\u89e3\u6790\u81f3\u5bb6\u91cc NAS \u7684 DDNS \u5730\u5740\u3002\u6bd4\u5982\u6211\u5728 CloudFlare \u5bf9\u5e94\u57df\u540d\u7684 DNS \u8bbe\u7f6e\u4e2d\uff0c\u6dfb\u52a0\u4e86\u4e24\u4e2a\u5b50\u57df\u540d chat.mydomain.com \u548c jellyfin.mydomain.com\uff0c\u90fd\u901a\u8fc7 CNAME \u8bb0\u5f55\u6307\u5411\u6211\u7684 DDNS \u5730\u5740\u00a0<a rel=\"noreferrer noopener\" href=\"https:\/\/mydns.myqnapcloud.com\/\" target=\"_blank\">https:\/\/mydns.myqnapcloud.com<\/a>\u00a0\u3002\u4e4b\u540e\u901a\u8fc7\u8fd9\u4e9b\u57df\u540d\u548c\u7279\u5b9a\u7aef\u53e3\u7684\u8bf7\u6c42\u4f1a\u88ab\u8fd0\u884c\u7684 Nginx Proxy Manager \u63a5\u7ba1\u3002<\/p>\n\n\n\n<p>4. Nginx Proxy Manager \u7684 Hosts \u9875\u9762\uff0c\u6dfb\u52a0 New Proxy Host\u3002Forward Hostname \/ IP \u548c Forward Port \u662f\u4f60\u5185\u7f51\u5e94\u7528\u8fd0\u884c\u7684\u5730\u5740\u548c\u7aef\u53e3\uff0cNginx Proxy Manager \u4f1a\u5c06\u6b64\u57df\u540d\u7684\u8bf7\u6c42\u8f6c\u53d1\u5230\u8fd9\u4e2a\u5e94\u7528\u3002\u5176\u4e2d SSL tab \u9875\u7684 SSL Certificate \u9009\u62e9\u6b65\u9aa4 2 \u4e2d\u7533\u8bf7\u53f7\u7684\u6cdb\u57df\u540d\u8bc1\u4e66\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/blog.newnaw.com\/wp-content\/uploads\/2023\/05\/NPM-add-new-proxy-host.png\" alt=\"\" class=\"wp-image-1559\" width=\"639\" height=\"445\" srcset=\"https:\/\/blog.newnaw.com\/wp-content\/uploads\/2023\/05\/NPM-add-new-proxy-host.png 1730w, https:\/\/blog.newnaw.com\/wp-content\/uploads\/2023\/05\/NPM-add-new-proxy-host-300x209.png 300w, https:\/\/blog.newnaw.com\/wp-content\/uploads\/2023\/05\/NPM-add-new-proxy-host-768x535.png 768w, https:\/\/blog.newnaw.com\/wp-content\/uploads\/2023\/05\/NPM-add-new-proxy-host-1536x1071.png 1536w, https:\/\/blog.newnaw.com\/wp-content\/uploads\/2023\/05\/NPM-add-new-proxy-host-800x558.png 800w, https:\/\/blog.newnaw.com\/wp-content\/uploads\/2023\/05\/NPM-add-new-proxy-host-1200x837.png 1200w\" sizes=\"(max-width: 639px) 100vw, 639px\" \/><\/figure>\n\n\n\n<p>5. \u6700\u540e\u5230\u8def\u7531\u5668\u4e2d\u8bbe\u7f6e\u7aef\u53e3\u8f6c\u53d1\uff0c\u5141\u8bb8\u7279\u5b9a\u5916\u7f51\u7aef\u53e3\u8f6c\u5230 Nginx Proxy Manager \u76d1\u542c\u7684\u7aef\u53e3\u3002\u6bd4\u5982\u6211\u6240\u6709\u5e94\u7528\u90fd\u5f3a\u5236 HTTPS \u8bbf\u95ee\uff0c\u5219\u53ea\u9700\u8f6c\u53d1\u4e0a\u9762 docker compose \u6587\u4ef6\u4e2d\u7684 9443 \u7aef\u53e3\u5230\u5916\u7f51 7443 \uff08\u53ef\u968f\u610f\u4fee\u6539\uff09\u5373\u53ef\u3002<\/p>\n\n\n\n<p>\u3000\u3000\u81f3\u6b64\u8bbe\u7f6e\u5b8c\u6bd5\u3002<\/p>\n\n\n\n<h1>\u9047\u5230\u7684\u95ee\u9898\u548c\u89e3\u51b3\u529e\u6cd5<\/h1>\n\n\n\n<p>\u3000\u3000\u6b64\u65f6\u53d1\u73b0\u901a\u8fc7\u00a0<a rel=\"noreferrer noopener\" href=\"https:\/\/chat.mydomain.com:7443\/\" target=\"_blank\">https:\/\/chat.mydomain.com:7443<\/a>\u00a0\u5e76\u4e0d\u80fd\u6253\u5f00\u5185\u7f51\u7684 ChatGPT \u5e94\u7528\uff0c\u7b49\u5f85\u4e4b\u540e\u663e\u793a\u00a0<code>504 Gateway Time-out openresty<\/code>\u00a0\u9519\u8bef\u3002\u4f46\u5982\u679c\u901a\u8fc7\u8def\u7531\u5668\u7aef\u53e3\u8f6c\u53d1\uff0c\u76f4\u63a5\u8bbf\u95ee ChatGPT \u5e94\u7528\u6216 Nginx Proxy Manager \u7ba1\u7406\u9875\u9762\u90fd\u662f\u6ca1\u6709\u95ee\u9898\u7684\uff0c\u8bc1\u660e\u8fd9\u4e24\u4e2a\u5e94\u7528\u672c\u8eab\u53ef\u4ee5\u72ec\u7acb\u8fd0\u884c\u3002<br>\u8fdb\u5165 Nginx Proxy Manager docker \u7684\u63a7\u5236\u53f0\uff0c\u67e5\u770b \/data\/logs \u4e0b\u7684 _error.log \u548c _access.log \u6587\u4ef6\uff0c\u53d1\u73b0\u63d0\u793a\u4e0a\u6e38\u8bf7\u6c42\u65e0\u6cd5\u901a\u8fc7\uff1b\u53e6\u5916\u901a\u8fc7 curl \u547d\u4ee4\u6253\u5230\u5185\u7f51 ChatGPT \u5e94\u7528\u5730\u5740\u53d1\u73b0\u65e0\u54cd\u5e94\u3002\u5224\u65ad\u662f Nginx Proxy Manager \u7684 docker \u548c\u5176\u5b83 docker \u5e94\u7528\u65e0\u6cd5\u901a\u4fe1\u3002<br>\u3000\u3000\u67e5\u770b\u5a01\u8054\u901a\u7684\u201d\u7f51\u7edc\u4e0e\u865a\u62df\u4ea4\u6362\u673a\u201c\uff0c\u53d1\u73b0\u81ea\u5df1\u901a\u8fc7 docker compose \u65b9\u5f0f\u521b\u5efa\u7684\u5e94\u7528\uff0c\u90fd\u5206\u522b\u4f7f\u7528\u4e86\u72ec\u7acb\u7684\u865a\u62df\u4ea4\u6362\u673a\u5e76\u4e14\u7f51\u6bb5\u4e0d\u540c\uff1b\u800c\u5982\u679c\u901a\u8fc7 Container Station UI \u521b\u5efa\u7684 docker \u5e94\u7528\uff0c\u5219\u90fd\u4f1a\u9ed8\u8ba4\u8fde\u63a5\u5230\u540d\u4e3a lxcbr0 \u7684\u540c\u4e00\u4e2a\u865a\u62df\u4ea4\u6362\u673a\u4e2d\uff0c\u53ef\u4ee5\u4e92\u76f8\u901a\u4fe1\u3002\u56e0\u6b64\u53ea\u9700\u5c06 docker compose \u521b\u5efa\u7684\u5e94\u7528\uff0c\u63a5\u5165\u540c\u4e00\u4e2a\u7f51\u7edc\u4e2d\u5373\u53ef\u3002<br>\u3000\u3000\u4e3a\u6b64\uff0c\u9996\u5148 SSH \u5230 NAS \u4e3b\u673a\u4e2d\uff0c\u901a\u8fc7\u00a0<code>docker network create my-custom-network<\/code>\u00a0\u547d\u4ee4\u5728 docker \u4e2d\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u7f51\u7edc\u3002\u4e4b\u540e\u5728\u9700\u8981\u8fde\u63a5\u5230\u6b64\u7f51\u7edc\u7684\u5e94\u7528\u7684 docker compose \u6587\u4ef6\u4e2d\u52a0\u5165\u5bf9\u5e94\u7684 networks \u914d\u7f6e\u3002\u4fee\u6539\u540e\u7684 Nginx Proxy Manager docker compose \u6587\u4ef6\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>version: '3.3'\nservices:\n  nginx-proxy-manager:\n    container_name: nginx-proxy-manager\n    image: 'jc21\/nginx-proxy-manager:latest'\n    restart: unless-stopped\n    ports:\n      - '9080:80'\n      - '9081:81'\n      - '9443:443'\n    volumes:\n      - \/share\/Container\/nginxProxyManager\/data:\/data\n      - \/share\/Container\/nginxProxyManager\/letsencrypt:\/etc\/letsencrypt\n    networks:\n      - my-dockers-network\n\nnetworks:\n  my-dockers-network:\n    external: true<\/code><\/pre>\n\n\n\n<p>\u3000\u3000\u540c\u6837\u4fee\u6539 ChatGPT \u548c Jellyfin \u5e94\u7528\u7684 docker compose \u6587\u4ef6\uff0c\u6dfb\u52a0\u4e0a\u9762\u6700\u540e\u51e0\u884c networks \u7684\u8bbe\u7f6e\u5e76\u91cd\u542f\u540e\uff0c\u201d\u7f51\u7edc\u4e0e\u865a\u62df\u4ea4\u6362\u673a\u201c\u91cc\u53ef\u4ee5\u89c2\u5bdf\u5230\u51e0\u4e2a docker \u5e94\u7528\u63a5\u5165\u4e86\u540c\u4e00\u4e2a\u865a\u62df\u4ea4\u6362\u673a\u3002\u6b64\u65f6\u901a\u8fc7\u4e0d\u540c\u57df\u540d\u52a0\u56fa\u5b9a\u7aef\u53e3\u53f7\u7684\u65b9\u5f0f\uff0c\u4fbf\u53ef\u4ee5\u5206\u522b\u8bbf\u95ee\u5bf9\u5e94\u7684\u5e94\u7528\u4e86\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/blog.newnaw.com\/wp-content\/uploads\/2023\/05\/dockers-connected-to-same-virtual-switch.png\" alt=\"\" class=\"wp-image-1560\" width=\"639\" height=\"324\" srcset=\"https:\/\/blog.newnaw.com\/wp-content\/uploads\/2023\/05\/dockers-connected-to-same-virtual-switch.png 1924w, https:\/\/blog.newnaw.com\/wp-content\/uploads\/2023\/05\/dockers-connected-to-same-virtual-switch-300x152.png 300w, https:\/\/blog.newnaw.com\/wp-content\/uploads\/2023\/05\/dockers-connected-to-same-virtual-switch-768x390.png 768w, https:\/\/blog.newnaw.com\/wp-content\/uploads\/2023\/05\/dockers-connected-to-same-virtual-switch-1536x781.png 1536w, https:\/\/blog.newnaw.com\/wp-content\/uploads\/2023\/05\/dockers-connected-to-same-virtual-switch-800x407.png 800w, https:\/\/blog.newnaw.com\/wp-content\/uploads\/2023\/05\/dockers-connected-to-same-virtual-switch-1200x610.png 1200w\" sizes=\"(max-width: 639px) 100vw, 639px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\u3000\u3000\u524d\u4e00\u9635\u5728\u5a01\u8054\u901a QNAP \u7684 NAS \u4e2d\u901a\u8fc7 docker \u5b89\u88c5\u4e86\u00a0ChatGPT-Next-Web\u00a0\u8fd9\u4e2a\u9879\u76ee\uff0c\u7ed9\u670b\u53cb\u5206\u4eabChatGPT\u4f7f\u7528\uff0c\u4f46\u8fd9\u4e2a web \u9879\u76ee\u672c\u8eab\u4e0d\u6d89\u53caSSL\u8bc1\u4e66\u7684\u914d\u7f6e\uff0c\u4e8e\u662f\u5e94\u7528\u4e00\u76f4\u8dd1\u5728\u672a\u52a0\u5bc6\u7684 HTTP \u534f\u8bae\u4e0b\uff1b\u52a0\u4e0a\u4e4b\u524d\u7684\u53e6\u4e00\u4e2a docker \u5a92\u4f53\u64ad\u653e\u5e94\u7528\u00a0Jellyfin\uff0c\u76ee\u524d\u5df2\u7ecf\u5728\u8def\u7531\u5668\u4e0a\u8bbe\u7f6e\u4e86\u591a\u4e2a\u7aef\u53e3\u8f6c\u53d1\uff0c\u9700\u8981\u901a\u8fc7\u8bb0\u5fc6\u7279\u5b9a\u7aef\u53e3\u6765\u6253\u5f00\u5bf9\u5e94\u7684\u5e94\u7528\u3002\u6709\u6ca1\u6709\u4ec0\u4e48\u529e\u6cd5\u80fd\u540c\u65f6\u89e3\u51b3\u8fd9\u4e24\u4e2a\u95ee\u9898\u5462\uff1f\u663e\u7136 Nginx \u6765\u505a\u53cd\u5411\u4ee3\u7406\u518d\u5408\u9002\u4e0d\u8fc7\u4e86\u3002\u4f46\u8fd9\u6b21\u8df3\u8fc7\u624b\u5199\u914d\u7f6e\u6587\u4ef6\uff0c\u6211\u4eec\u4f7f\u7528\u00a0Nginx Proxy Manager\u00a0\u6765\u8fbe\u5230\u76ee\u7684\u3002 \u76ee\u7684 \u3000\u3000\u73b0\u72b6\uff1a \u3000\u3000\u8981\u5b9e\u73b0\u7684\u76ee\u7684\uff1a \u5177\u4f53\u6b65\u9aa4 1. docker \u5b89\u88c5\u00a0Nginx Proxy Manager\u00a0\u3002\u6211\u8fd9\u91cc\u4f7f\u7528 docker compose \u65b9\u5f0f\u5982\u4e0b\uff1a 2. \u901a\u8fc7 http:\/\/&lt;nasIP>:9081 \u767b\u9646 Nginx Proxy Mananger\uff0cSSL Certificates \u9875\u9762\u7ed9\u60f3\u8981\u5206\u914d\u7ed9\u5e94\u7528\u7684\u57df\u540d\u7533\u8bf7 SSL \u8bc1\u4e66\u3002 3. \u5c06\u4f60\u7684\u57df\u540d DNS \u8bb0\u5f55\u89e3\u6790\u81f3\u5bb6\u91cc NAS \u7684 DDNS \u5730\u5740\u3002\u6bd4\u5982\u6211\u5728 CloudFlare \u5bf9\u5e94\u57df\u540d\u7684 DNS \u8bbe\u7f6e\u4e2d\uff0c\u6dfb\u52a0\u4e86\u4e24\u4e2a\u5b50\u57df\u540d chat.mydomain.com \u548c jellyfin.mydomain.com\uff0c\u90fd\u901a\u8fc7 CNAME \u8bb0\u5f55\u6307\u5411\u6211\u7684 DDNS \u5730\u5740\u00a0https:\/\/mydns.myqnapcloud.com\u00a0\u3002\u4e4b\u540e\u901a\u8fc7\u8fd9\u4e9b\u57df\u540d\u548c\u7279\u5b9a\u7aef\u53e3\u7684\u8bf7\u6c42\u4f1a\u88ab\u8fd0\u884c\u7684 Nginx Proxy Manager \u63a5\u7ba1\u3002 4. Nginx &hellip; <a href=\"https:\/\/blog.newnaw.com\/?p=1557\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">\u5a01\u8054\u901a NAS \u4e2d\u4f7f\u7528 Nginx Proxy Manager \u53cd\u5411\u4ee3\u7406\u591a\u4e2a docker \u5e94\u7528<\/span> <span class=\"meta-nav\">&raquo;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[13],"_links":{"self":[{"href":"https:\/\/blog.newnaw.com\/index.php?rest_route=\/wp\/v2\/posts\/1557"}],"collection":[{"href":"https:\/\/blog.newnaw.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.newnaw.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.newnaw.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.newnaw.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1557"}],"version-history":[{"count":3,"href":"https:\/\/blog.newnaw.com\/index.php?rest_route=\/wp\/v2\/posts\/1557\/revisions"}],"predecessor-version":[{"id":1563,"href":"https:\/\/blog.newnaw.com\/index.php?rest_route=\/wp\/v2\/posts\/1557\/revisions\/1563"}],"wp:attachment":[{"href":"https:\/\/blog.newnaw.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1557"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.newnaw.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1557"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.newnaw.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1557"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}