27十/110
Nginx+apache架设discuz论坛出现“请求来路不明”提示的解决方法
网站采用nginx+apache的架构, 由nginx负责前端工作,将php之类的请求转发给后端的apache处理。以提高网站访问速度,但在使用discuz论坛程序的时候却出现问题了。
这次是nginx上出了问题,我的web经过一次nginx反向代理,安装一切正常,但是注册、发布和修改论坛设置的时候总是提示“请求来路不正确,无法操作”。仔细检查了一下,是因为代理nginx上没有加入任何的proxy_set 参数,导致discuz得到的remote端IP是代理服务器的IP,也就是内网IP,导致了数据源的非法。
解决:在代理服务器上加上那几个常用的proxy参数就可以。
打开nginx.conf配置文件,在对应的server里面添加以下内容:
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header HTTP_X_FORWARDED_HOST $proxy_add_x_forwarded_for;