You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker部署NGINX Proxy Manager无法使用子域名求助

子域名无法在NGINX Proxy Manager中使用的问题

我在Docker中部署了NGINX Reverse Proxy Manager,拥有一个DynDNS地址,通过该地址可正常访问NGINX Proxy Manager默认页面,使用主DynDNS域名通过代理管理器连接端口也能正常工作(含SSL配置)。但尝试使用subdomain1.laptopsimon.net这类子域名时,既无法创建SSL证书,也无法通过HTTP访问对应服务。

日志中出现Let's Encrypt错误:

[12/25/2022] [1:50:45 PM] [SSL ] › ℹ info Requesting Let'sEncrypt certificates for Cert #9: subdomain1.laptopsimon.ddns.net
[12/25/2022] [1:50:45 PM] [SSL ] › ℹ info Command: certbot certonly --config "/etc/letsencrypt.ini" --cert-name "npm-9" --agree-tos --authenticator webroot --email "simon.hauber@outlook.de" --preferred-challenges "dns,http" --domains "subdomain1.laptopsimon.ddns.net"
[12/25/2022] [1:50:49 PM] [Nginx ] › ℹ info Reloading Nginx
[12/25/2022] [1:50:49 PM] [Express ] › ⚠ warning Command failed: certbot certonly --config "/etc/letsencrypt.ini" --cert-name "npm-9" --agree-tos --authenticator webroot --email "simon.hauber@outlook.de" --preferred-challenges "dns,http" --domains "subdomain1.laptopsimon.ddns.net"
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Some challenges have failed.
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.

问题排查与解决思路

1. 子域名DNS解析验证

  • 确认subdomain1.laptopsimon.net的DNS记录已正确指向你的公网IP(需和主DynDNS域名的IP一致)。
  • 使用nslookup subdomain1.laptopsimon.net或dig subdomain1.laptopsimon.net工具检查解析结果,确保全球范围内能正确解析,避免DNS缓存导致的延迟问题。

2. 端口与防火墙配置检查

  • 路由器端口转发:确保80(HTTP)和443(HTTPS)端口已正确转发到NGINX Proxy Manager容器所在的服务器IP,且规则对所有子域名生效。
  • 本地防火墙与安全组:确认服务器的防火墙(如ufw、iptables)以及云服务商安全组(若有)已开放80、443端口,未限制子域名的流量。

3. Let's Encrypt验证方式调整

  • Webroot验证排查:确保NGINX Proxy Manager的webroot路径配置正确,子域名的/.well-known/acme-challenge/路径能被外部正常访问。
  • 切换DNS验证:如果webroot验证持续失败,可在DynDNS服务商处配置API密钥,让NGINX Proxy Manager自动添加DNS验证记录,这种方式不受端口转发限制,更适配动态IP场景。

4. NGINX Proxy Manager配置检查

  • 子域名代理主机配置:确认目标服务的IP、端口填写正确,无错误的路径重写或访问规则。
  • 先测试HTTP访问:暂时关闭SSL强制,验证子域名的基础代理是否正常,再逐步排查SSL证书问题。

5. 详细日志排查

  • 登录Docker容器查看完整的Let's Encrypt日志:执行docker exec -it <你的NPM容器ID> cat /var/log/letsencrypt/letsencrypt.log,获取具体的失败原因(如解析超时、验证文件无法访问等),针对性解决问题。

内容的提问来源于stack exchange,提问作者Ichhaudich007

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 09:00:39