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

使用Nginx Proxy Manager反向代理Docker部署的WordPress后静态资源加载异常及配置异常求助

Nginx Proxy Manager反向代理Docker部署的WordPress后静态资源加载异常及配置异常求助

嘿,我来帮你捋捋这个问题——你刚好踩了反向代理WordPress的两个常见坑:混合内容错误,以及自定义Nginx配置时不小心覆盖了默认代理规则。咱们一步步来解决:

为什么加了location /配置后会显示OpenResty欢迎页?

你之前在NPM的高级选项里写了整个location /块,这直接覆盖了Nginx Proxy Manager自动生成的、指向WordPress容器的代理规则。没有了正确的代理目标,Nginx就会返回默认的OpenResty欢迎页面,这就是为啥你看不到WordPress的原因。

正确解决混合内容问题的步骤

混合内容的根源是:WordPress容器本身只提供HTTP服务,它不知道外部用户是通过HTTPS访问的,所以生成的静态资源(JS/CSS/图片)链接都是HTTP,浏览器就会拦截这些不安全的请求。咱们需要做两件事:

1. 修正NPM的自定义配置

不要重写整个location块,只需要在高级选项里添加额外的请求头,让WordPress识别外部的访问协议。把之前的配置删掉,替换成:

proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $remote_addr;

这两行的作用是告诉WordPress:用户是通过$scheme(也就是HTTPS)访问的,同时传递真实的客户端IP。NPM的默认代理规则会保留,不会再出现欢迎页的问题。

2. 让WordPress强制使用HTTPS

光靠NPM的头还不够,咱们需要在WordPress的配置里确认它识别到HTTPS。进入WordPress容器,找到wp-config.php文件(通常在/var/www/html目录下),添加以下代码:

define('FORCE_SSL_ADMIN', true);
// 识别反向代理的HTTPS协议
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
    $_SERVER['HTTPS'] = 'on';
}

这段代码会强制后台使用HTTPS,同时让WordPress根据NPM传递的X-Forwarded-Proto头,生成HTTPS的静态资源链接,彻底解决混合内容问题。

最后检查一下

  • 确认NPM的代理主机设置里,Forward Hostname是开启状态
  • 目标地址要正确指向WordPress容器的IP或容器名(比如用Docker容器名wordpress加上端口80)
  • 重启Nginx Proxy Manager和WordPress容器,让配置生效

这样操作后,应该就能正常访问WordPress,静态资源也不会再出现混合内容的错误了。

备注:内容来源于stack exchange,提问作者Otaku

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 16:23:15