【发布时间】:2020-01-19 14:19:14
【问题描述】:
我正在尝试通过 Amazon ecs 实例将代理传递到在 docker 容器中设置的 http Wordpress 站点。客户端通过我们设置的测试服务器 (https://test.xxxxxxx.com) 访问站点。当用户访问https://test.xxxxxxx.com 时,我希望它在地址栏中显示https://test.xxxxxxx.com,但会打开我的Wordpress 网站的页面(端口80 上的http://xx.xxx.xxx.xxx)。
我可以把它放到我的 Wordpress 网站上,但它看起来很有趣。我收到很多混合内容错误,因为我试图通过 https 请求访问 http 文件。我了解发生了什么,但我似乎无法修复它,即使在尝试了我可以在网上找到的所有建议之后。
我尝试更改站点可用文件夹中 Nginx 文件中的几个设置,以及更改我的 Wordpress 站点上 wp-config.php 中的设置。下面是我尝试过的一件事。我发现的几乎所有教程,以及我尝试过的所有教程,都是它的变体。
#Nginx file
server {
listen 443;
location / {
proxy_pass http://xx.xxx.xxx.xxx:80;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
#wp-config.php
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https')
$_SERVER['HTTPS'] = '1';
if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) {
$_SERVER[HTTP_HOST'] = $_SERVER[HTTP_X_FORWARDED_HOST'];
}
define( 'WP_HOME', 'http://xx.xxx.xxx.xxx');
define( 'WP_SITEURL', 'http://xx.xxx.xxx.xxx');
我希望发生的是,当用户在地址栏中输入 https://test.xxxxxxx.com 时,我的 Wordpress 网站会加载正确的主题和我的所有图片,但 https://test.xxxxxxx.com 仍会显示在地址栏中。
【问题讨论】:
-
WP_HOME和WP_SITEURL应设置为https://test.xxxxxxx.com -
我试过这个,但是当我转到那个页面时,它说 test.xxxxxxx.com 目前无法处理这个请求。 HTTP 错误 500
标签: wordpress docker nginx amazon-ecs nginx-reverse-proxy