我有一个wordpress网站本身可以正常工作,但是当我尝试将其放置在nginx代理(proxy_pass)后面时,每次都会出现“建立数据库连接时出错”的信息。
location /blog/ {
proxy_pass https://blog.example.com/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
我知道了。问题是
proxy_set_header Host $host;
[https://blog.example.com/是虚拟主机,nginx向其发送请求,就像对https://example.com/blog的请求一样,这会混淆虚拟主机逻辑。该错误本身与问题的原因无关。该(example.com/blog)网址上已经有一个损坏的wordpress网站。
解决方案:
proxy_set_header Host blog.example.com;
这将从虚拟主机正确获取正确的站点,然后将结果发送到代理服务器,该服务器会将其转换为example.com/blog