nginx(安装了php)proxy_pass指定目录到apache服务器(用php-fpm)失败

时间:2016-01-29 14:40:13

标签: php apache redirect nginx rewrite

希望有人可以提供帮助。 我们这里有两个服务器,一个是nginx + php-fpm,另一个是apache + php-fpm,它们在同一个局域网中。

在nginx服务器中我们有php网站www.xxx.com
我们也在apache服务器上有php网站页面。 我们想要的是,当用户访问www.xxx.com/yyy/*时,请求将被发送到apache服务器,apache服务器及其php将处理请求。 同时,不应更改URL www.xxx.com/yyy/*。

在nginx服务器中,我在/etc/nginx/conf.d/xxx.conf中添加了配置,如下所示:

location ^~ /yyy/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://10.47.127.226:8088/;    //the apache port is 8088
}

然后重新加载nginx服务,
当我们访问www.xxx.com/yyy/时,它可以加载页面,但它只能显示与txt相关的信息,没有网页格式或与图片相关的信息。 (我可以确认apache及其php工作正常,我可以通过http://10.47.127.226:8088/直接访问它)

所以我不确定请求是否可行?如果可能的话,我可以为nginx做什么?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

感谢大家的帮助。最后我解决了这个问题。 根案例在apache服务器站点中。在php代码中,url php生成没有目录/ yyy /,但它应该有目录/ yyy / in生成的url。开发人员添加了/ yyy /生成的php url。它起作用了。 nginx代理配置没问题。