nginx+websphere sendRedirect 端口错误
nginx+websphere sendRedirect 端口错误
问题现象:
nginx+websphere
当在websphere中使用sendRedirect时,会将websphere的端口传递到浏览器
eg:
正确的访问地址为:127.0.0.1
使用sendRedirect后,变为127.0.0.1:9080
解决办法:
需要修改websphere配置
应用程序服务器 > server1 > Web 容器 > 定制属性 ,加入以下两个定制属性:
com.ibm.ws.webcontainer.extractHostHeaderPort=true
trusthostheaderport=true
另外可以考虑在nginx中使用proxy_redirect属性重定向url
proxy_redirect http://localhost:8000/two/ http://frontend/one/;
假设被代理服务器返回Location字段为: http://localhost:8000/two/some/uri/
这个指令: proxy_redirect http://localhost:8000/two/ http://frontend/one/
;
将Location字段重写为http://frontend/one/some/uri/。