我已经在我的websphere 8应用服务器前面配置了apache反向代理。我已经设置了通用的JVM参数-Dhttps.proxyHost和-Dhttps.proxyPort,但是对response.sendRedirect的请求没有被定向到peoxy服务器。它针对defualt端口9080。 如何解决这个问题? 我已经在Tomcat& Jboss通过修改我的连接器端口如下
连接器名称=" http"协议=" HTTP / 1.1"插座结合=" HTTP"方案=" HTTPS"代理名称=" 192.168.1.1"代理端口=" 443"安全="真"
如何为Websphere解决此问题?
答案 0 :(得分:1)
我假设您使用如下
response.sendRedirect(request.getContextPath()+ " /my/main.jsp");
此处 - request.getContextPath提供代理服务器信息。
作为快速修复,我使用属性文件中的代理服务器值解决了这个问题。
response.sendRedirect("从prop文件获取代理服务器名称" + " /my/main.jsp");
答案 1 :(得分:0)
按照以下步骤解决了这个问题。
在Apache Web服务器的虚拟主机标记中添加以下内容。您实际需要的是沿着用于访问服务器的协议转发。
VirtualHost *:443> RequestHeader设置X-Forwarded-Proto" https" ...。 /虚拟主机>
有关更多说明,请参阅网站 http://github.com/cbeust/testng
httpsIndicatorHeader - X-Forwarded-Proto(Web服务器中设置的请求标头值(在我们的例子中是https))
com.ibm.ws.webcontainer.extractHostHeaderPort - true(服从请求端口号)
trusthostheaderport - true(服从请求端口号)
为此设置提及以下网站
https://www.nczonline.net/blog/2012/08/08/setting-up-apache-as-a-ssl-front-end-for-play/