【发布时间】:2020-04-28 17:51:53
【问题描述】:
我有一个 Nginx 作为反向代理运行,在同一台机器上还有一个 Wordpress 网站。两者都是码头集装箱。我的公共 IP 有一个带有 A 记录的域,并且我启用了端口转发,以便将端口 80 转发到主机。只有 Nginx 映射到该机器的端口 80,Wordpress 的端口(也是 80)没有映射到主机端口,并且在通过 Nginx 之外无法访问。
到目前为止一切顺利。如果我使用本地主机 IP 连接到网站,它可以工作(如,nginx 正确地将我代理到网站)。但是,如果我使用域,那么它会对主机的本地(!)地址执行 301。因此,我在浏览器中输入 exampledomain.com,它会将我重定向到 192.168.1.x(运行 nginx 和 wordpress 容器的主机的本地 IP)。
我在 Google 上进行了很多搜索,但很遗憾未能找到正确的答案。我假设我在 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?
【问题讨论】:
-
您是否为 WordPress 配置了正确的站点 URL?见changing the site URL。
-
就是这样!非常感谢:)
标签: wordpress docker nginx reverse-proxy nginx-reverse-proxy