为什么nginx反向代理对自己做301



我有一个Nginx作为反向代理运行,在同一台机器上有一个Wordpress网站。两者都是码头集装箱。我的公共IP有一个a记录的域,并且我启用了端口转发,以便将端口80转发到主机。只有Nginx被映射到该机器的端口80,Wordpress的端口(也是80(没有被映射到主机端口,并且在通过Nginx之外无法访问。

到目前为止还不错。如果我使用本地主机IP连接到网站,它就可以工作(如中所示,nginx正确地将我代理到网站(。但是,如果我使用域,那么它会对主机的本地(!(地址执行301操作。因此,我在浏览器中键入exampledomain.com,它会将我重定向到192.168.1.x(运行nginx和wordpress容器的主机的本地IP(。

我在谷歌上搜索了很多,但不幸的是,我没能在这个网站上找到正确的答案。我认为我在Nginx的配置中做错了什么,如下所示:

events {}
http {
server {
listen 80;
server_name exampledomain.com www.exampledomain.com;
location / {
proxy_pass http://wordpress;
proxy_pass_request_headers on;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
}
}
}

这仍然只在端口80上,但我计划确保任何端口80请求都转发到端口443。然而,我似乎无法迈出工作的第一步,所以让我们首先关注这一点。我如何确保它不会将我的请求重定向到本地IP地址,而是在浏览器地址栏中保留exampledomain.com?

对于那些遇到同样问题的人:@Richard Smith在问题评论中提供了正确答案。您需要在Wordpress中的"设置/常规"下更改网站URL。

最新更新