首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当访问代理中的apache和nginx托管的wordpress时,重定向到127.0.0.1

当访问代理中的apache和nginx托管的wordpress时,重定向到127.0.0.1
EN

Stack Overflow用户
提问于 2016-05-10 22:12:32
回答 3查看 6.7K关注 0票数 3

我有一个在Apache2上托管的wordpress,Nginx在前面。<WORLD> ===> <NGINX PROXY> --> APACHE/DOCKER/STATIC WEBSITE etc...

我的wordpress代理的nginx conf是:

代码语言:javascript
复制
server {
    server_name dev-www.example.com;

    location / {
        proxy_pass http://127.0.0.1:13400;
    }
}

我的apache配置:

代码语言:javascript
复制
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

代码语言:javascript
复制
# 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,但是我得到了一个无限循环:

5月10日(星期二) 23:44:45.001680 2016年pid 1096 AH00124:由于可能的配置错误,请求超过了10次内部重定向的限制。如有必要,请使用“LimitInternalRecursion”来增加限制。使用“LogLevel调试”获取回溯。,引用程序:http://dev-www.example.com/

注意:http://dev-www.example.comhttp://dev-www.example.com/index.php没有问题,谢谢。

note2 :如果我将nginx配置更改为localhost:13400,则会重定向到localhost/login-3。它看起来像.htaccess重定向到ServName,它是127.0.0.1

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-05-11 09:21:40

它是wordpress重定向到HTTP_HOST,添加

代码语言:javascript
复制
$_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_FORWARDED_HOST'];

wp-config.php中修复它。

票数 18
EN

Stack Overflow用户

发布于 2016-05-10 22:22:46

听起来就像您已经将wordpress站点从本地开发系统导出到生产系统一样。很可能你也不能进入/wp了。在这种情况下,您必须手动更新表wp_options中的数据库条目。查找siteurlhome选项。

也请尝试将其添加到wp-config.php (但恐怕,这只针对传出请求)

代码语言:javascript
复制
define('WP_PROXY_HOST', '1.2.3.4');
define('WP_PROXY_PORT', '13400');
# define('WP_PROXY_USERNAME', 'my_user_name');
# define('WP_PROXY_PASSWORD', 'my_password');
define('WP_PROXY_BYPASS_HOSTS', 'localhost, www.example.com');
票数 1
EN

Stack Overflow用户

发布于 2020-10-07 23:49:35

对于Nginx,您必须确保主机头设置正确,您的示例应该是:

代码语言:javascript
复制
server {
    server_name dev-www.example.com;

    location / {
        proxy_set_header Host dev-www.example.com;
        proxy_pass http://127.0.0.1:13400;
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37149842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档