解决apache/nginx做反向代理导致request.getServerName()外网环境获取不到代理地址(或域名)的问题
来源:互联网 发布:银行数据录入员累吗 编辑:程序博客网 时间:2024/05/29 18:07
前两天做了个项目,让同事拿去投标,为了给用户演示,需要外网访问,于是配置了apache代理。随之问题就来了,外网访问的时候,request.getServerName()总是获取不到代理服务器的地址(外网域名地址),返回的却是是公司内网地址192.168.x.x。
网上搜罗些资料,发现默认情况下,apache作为代理为了提高性能,一些Http头部信息不回转发给后台服务器,其中就包括代理服务器的host信息,而tomcat中对于request.getServerName()的实现,就是取这个host信息,如果http header总没设置,则取本机IP地址。
所以,要解决这个问题,需要在配置代理的时候,显示告诉代理服务器,需要把代理服务器的Host转发给后台服务:
apache 为:在<VirtualHost/>标签中的最后添加 ProxyPreserveHost on
nginx为:在location {...}中添加 proxy_set_header Host $host;
参考:http://www.phpfensi.com/php/20131127/466.html
阅读全文
0 0
- 解决apache/nginx做反向代理导致request.getServerName()外网环境获取不到代理地址(或域名)的问题
- 解决apache/nginx做反向代理导致request.getServerName()外网环境获取不到代理地址(或域名)的问题
- nginx反向代理,request.getServerName()的问题
- nginx反向代理,使用request.getServerName()获取域名错误
- Apache或者nginx反向代理时,request.getservername()出现的问题!
- 利用nginx的upstream做反向代理解决内网域名转发的问题
- nginx反向代理,丢失域名的问题
- nginx反向代理后获取不到客户端的真实ip地址
- Apache+tomcat 反向代理 解决 域名跟端口号问题
- Nginx反向代理Odoo后导致日志中Werkzeug记录的IP地址不正确的问题
- nginx做反向代理结合apache
- Nginx像Apache一样做反向代理
- 后端Apache获取前端Nginx反向代理的真实IP地址 (原创贴-转载请注明出处)
- Nginx 反向代理Apache
- Tomcat获取Nginx反向代理的客户端IP地址
- nginx配置反向代理,域名代理后不生效问题
- Nginx做反向代理
- nginx做反向代理
- XML之DOM解析
- python3实现《机器学习实战》遇到的问题:range函数
- The required Server component failed to start so Tomcat is unable to start问题解决
- 读入优化新姿势——学习笔记
- iOS开发随手笔记
- 解决apache/nginx做反向代理导致request.getServerName()外网环境获取不到代理地址(或域名)的问题
- MATLAB 线性方程组求解
- 浪潮笔试题
- SDUT 3800 离散题目6
- 品质有期
- DFS-全排
- 雅虎终于死了:从1000亿到破产贱卖,最后连名字都没
- 如何过滤 adb logcat 输出
- XShell连接远程centos监控控制台(tomcat)输出信息