在代理中访问由 apache 和 nginx 托管的 wordpress 时重定向到 127.0.0.1
问题:在代理中访问由 apache 和 nginx 托管的 wordpress 时重定向到 127.0.0.1 我在 Apache2 上托管了一个 wordpress,前面有 Nginx。 <WORLD> ===> <NGINX PROXY> --> APACHE/DOCKER/STATIC WEBSITE etc... 我用于 wordpress 代理的 nginx conf 是: server
问题:在代理中访问由 apache 和 nginx 托管的 wordpress 时重定向到 127.0.0.1
我在 Apache2 上托管了一个 wordpress,前面有 Nginx。 <WORLD> ===> <NGINX PROXY> --> APACHE/DOCKER/STATIC WEBSITE etc...
我用于 wordpress 代理的 nginx conf 是:
server {
server_name dev-www.example.com;
location / {
proxy_pass http://127.0.0.1:13400;
}
}
我的阿帕奇配置:
Listen 13400
<VirtualHost 127.0.0.1:13400>
CustomLog /var/log/httpd/sites/dev-www/access_log combined
ErrorLog /var/log/httpd/sites/dev-www/error_log
DirectoryIndex index.php
DocumentRoot /var/www/sites/example.com/dev-www
RewriteEngine On
<Directory /var/www/sites/example.com/dev-www/>
Options Indexes FollowSymLinks
AllowOverride all
</Directory>
</VirtualHost>
和 wordpress.htaccess
:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
</IfModule>
# END WordPress
问题是当我继续使用dev-www.example.com/foobar.php
时,我被重定向到127.0.0.1/foobar.php
。我知道是从nginx
配置127.0.0.1
弹出来的,怎么解决?
我尝试代理传递给dev-www.example.com:13400
但我得到了一个无限循环:
[Tue May 10 23:44:45.001680 2016] [core:error] [pid 1096] [client 127.0.0.1:54887] AH00124:请求超过了 10 个内部重定向的限制,因为可能配置错误。如有必要,使用“LimitInternalRecursion”增加限制。使用'LogLevel debug'获取回溯。,referer:http://dev-www.example.com/
注意:http://dev-www.example.com
或http://dev-www.example.com/index.php
没有问题 谢谢。
注意 2:如果我将 nginx 配置更改为 localhost:13400,那么我将被重定向到 localhost/login-3。它看起来像 .htaccess 重定向到 ServName,它是 127.0.0.1
解答
这是wordpress重定向到HTTP_HOST
,添加
$_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_FORWARDED_HOST'];
在wp-config.php
中修复它。
更多推荐
所有评论(0)