apache代理webspsere服务器,页面获取端口错误

描述问题

    项目使用apache作为代理服务器,端口4083
    测试环境websphere作为应用服务器,端口18123
 在前台jsp页面通过request.getserverPort方法获取服务器ip地址和端口,获取地址为websphere服务器的ip和端口。
 网上查找解决方案,在apache中httpd.conf中<virtualHost>标签内添加proxypreservehost on 配置,再次访问jsp页面,获取ip正确为apache服务器地址,但端口还是websphere的端口。
 在测试环境搭建一个tomcat,调整端口为18123,页面获取端口为正常(4083)
 将apache代理目标设置为我本地测试环境,可以获取正确端口(4083)
 查看浏览器接口情况,
                发现连接websphere时,静态文件(js/css/png)是从最终服务器获取, action文件获取地址是apache服务器
                当连接tomcat时,都是通过apache正常获取

 总的来说就是通过代理服务器访问服务器,页面通过request.getserverPort方法获取端口,当服务器为websphere的时候,不能获取到正确的代理服务器端口,但是用tomcat作为服务器时,可以正确获取端口。
 不知道是不是apache或websphere中有什么特殊配置,网上搜了很久也没解决。

httpd.conf配置
httpd.conf配置
jsp页面,localport是用来对照的
jsp页面
action接口详情
action接口
静态文件接口详情
静态文件接口

1个回答

qq_38230472
qq_38230472 么有用,我设置两个服务器,一个能获取正确的,一个获取不到正确的,同样的代码配置,唯一不同的就是tomcat和websphere做服务器,实在是没有头绪
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问