Cloudflare DNS环境下Nginx Proxy Manager SSL证书不生效故障求助
故障排查与修复方案
根因定位
522错误本质是请求发起端无法和Nginx Proxy Manager(下称NPM)建立TCP连接,结合开启强制SSL后才出现故障、关闭Cloudflare代理也未恢复的特征,问题出在NPM自身的端口监听、HTTPS回源配置或Docker网络层面,和Cloudflare无关。
具体修复步骤
第一步:检查NPM的端口映射配置
确认Docker启动命令或compose配置中,已经正确映射443端口到宿主机,示例compose端口配置参考:ports: - '80:80' - '443:443' - '81:81' # 管理后台端口未映射443端口的情况下开启强制SSL,所有请求会被跳转到443端口但无服务监听,直接导致超时。
第二步:修正NPM代理主机的HTTPS回源配置
你当前回源地址是HTTPS协议的Portainer服务,需要在代理主机配置的「高级」标签页勾选Websockets Support,同时在「SSL」标签页确认:- 证书已正确签发,没有域名不匹配问题
- 「Force SSL」、「HTTP/2 Support」正常勾选
- 不要勾选HSTS Enabled(未完成全站HTTPS验证前开启会导致后续调试困难)
第三步:验证回源连通性
进入NPM的Docker容器内部,执行命令测试到Portainer服务的连通性:curl -v https://192.168.0.50:9443 --insecure如果返回连接失败,检查NPM桥接网络的网段是否和局域网192.168.0.0/24网段冲突,修改Docker桥接网段到不冲突的地址段即可。
第四步:避免NPM配置覆盖问题
不要手动修改NPM生成的Nginx配置文件,所有规则通过NPM管理后台配置,防止重启后配置丢失或冲突。
临时回退方案
如果需要紧急恢复服务,不需要删除卷数据,只需要进入NPM管理后台,取消对应代理主机的Force SSL勾选,重启NPM容器即可恢复访问。
内容的提问来源于stack exchange,提问作者RindT
相关产品推荐
相关产品推荐

