Wordpress仅在使用nginx代理时"Error establishing a database connection"



我有一个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(url上已经有一个损坏的wordpress网站。

解决方案:

proxy_set_header Host blog.example.com; 

这将正确地从虚拟主机获取正确的站点,然后将结果发送到代理服务器,代理服务器将其转换为example.com/blog

相关内容