nginx代理背后的wordpress(来自两个来源的访问)

时间:2016-10-15 16:47:32

标签: php wordpress nginx proxy

我进行了一次艰苦的搜索,找到了如何让Word-press在代理后面显示其页面,我找到了一种方法来正确加载页面链接和样式文件,但是admin-pages会抛出404我尝试使用其中的任何东西。 重建docker-compose后,管理页面工作 当前需要设置WP_HOME和url,有问题我只能决定页面是否在我的网络中工作(通过使用IP),或者是否可以从外部访问(通过设置URL) < / p>

我对wp-config.php的更改是添加:

define('WP_HOME','http://192.168.1.108/wordpress');
define('WP_SITEURL','http://192.168.1.108/wordpress');

取消地点是:

location /wordpress/{
  proxy_buffering off;
  proxy_pass http://wordpress/;
  proxy_redirect default;
}

192.168.1.108是到达nginx的ip,它使用docker-container名称“http://wordpress/”来达到wordpress。删除了一些虚假的信息

PS:这基本上是对docker running nginx as proxy to another webserver (on pi)的跟进。

- 编辑 - : 一些测试(和系统重启)已经改变了上述一些陈述,它们被改为对其进行了编辑,以粗体编辑

- 编辑2--: 我知道一个解决方案是将外部URL添加到hosts.txt(我在运行该站点的设备上使用它)但是对移动设备(需要使用内部和外部IP)都不会有帮助。 / p>

- 编辑3--: 好的,现在每当我尝试进入php生成的页面时,我设法将我的前缀加倍: 我得到http:/// wordpress // wordpress / wp-admin /同样适用于评论。但登录似乎正常(尽管它也是一个PHP)?

1 个答案:

答案 0 :(得分:0)

我想我找到了丢失的行(并且我将IP更改为名称,我输入到host.txt)

取消地点是:

location /wordpress/{
proxy_buffering off;
proxy_pass http://wordpress/;
proxy_redirect off;
}

(我不确定off是否优于默认值)

我对wp-config.php的更改是添加:

$_SERVER['HTTP_HOST']=$_SERVER['HTTP_X_FORWARDED_HOST'];
define('WP_HOME','http://<NAME>/wordpress');
define('WP_SITEURL','http://<NAME>/wordpress');

同样重要的是:如果在docker-compose内进行测试,请确保正确清理它。