后面反向代理和getServerPort的WebSphere Portal()(WebSphere

2019-07-29 10:48发布

我在访问它部署在(使用Apache)反向代理的WebSphere Portal的问题。 问题是,在检查通过浏览器发出的HTTP请求,某些请求是在代理目标,有的直接在WebSphere Portal中。

我的Apache配置:

ProxyPassReverseCookieDomain backend-server proxy-server

ProxyPass / http://backend-server:10039/
ProxyPassReverse / http://backend-server:10039/

问题是,一些产生的资源包含绝对URI在后端服务器定位:10039 ...

我应该配置些什么才能正常访问WebSphere Portal的背后反向代理?

Answer 1:

因为我可以回答我自己的问题,这里的问题是什么:

在服务器端,portlet和JSP的WebSphere Portal中使用request.getServerHost()request.getServerPort() 为了使这些方法背后的反向代理(其发送工作Host:头)。 我不得不添加:

ProxyPreserveHost On

到apache配置和:

com.ibm.ws.webcontainer.extractHostHeaderPort = true
trusthostheaderport = true

附加属性Web容器在IBM控制台: WebSphere application servers -> WebSphere_Portal -> Web Container Settings -> Web Container -> Custom properties

这些属性描述了这里 。



Answer 2:

我得到了同样的问题,前几天,并最终选择了Apache的mod_substitute更改这些网址是这样的:
Substitute "s|http ://backend-server:10039/|/|i"



文章来源: WebSphere Portal behind reverse proxy and getServerPort()