我在内部服务器(Debian)上的 apache2 上有 WordPress 实例。
我通过 nginx 反向代理访问这些实例。
反向操作对于 WP 首页来说没问题,但页面中的所有链接都指向内部服务器(例如:192.168.42.42/wp2/...),而不是反向的 URL。我只在 WP 上遇到这个问题:我也有 limesurvey 和 dolibarr 实例,但都没有问题。
在 WP 中,我可以更改“站点地址 (URL)”设置,但我正在寻找另一种方法来反向执行此操作。
我尝试了很多方法,但都没有效果。
我的实际 nginx 配置:
server {
listen 80;
server_name mondomaine.fr;
location / {
proxy_pass http://internal-server/;
}
location /wp2/ {
proxy_pass http://internal-server/wp2/;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
}
}
谢谢
答案1
通常,WordPress 配置中的主页和站点 URL 设置(请参阅这个文件) 以全写形式显示方案,主机名, 和小路,例如http://192.168.42.42/wp2/
。
如果你删除方案和主机名,你的页面将填充相对 URL,并且浏览器将假定方案和主机名反向代理。例如,使用:/wp2/