托管在tomcat服务器上的java web应用程序出现问题。
tomcat实例使用以下设置继续运行:
<Connector port="8090" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
在应用程序中,链接使用getContextPath方法,该方法返回以下链接:http://localhost:8090/webapp
然而,当外部访问时(Netscaler重定向到服务器和端口8090(,当在HTTPS端口上使用URL(如https://public.domain.com/webapp,将返回以下链接:http://public.domain.com:80/webapp/...
链接是使用StrutsLinkTool setAction((方法生成的https://velocity.apache.org/tools/1.2/struts/StrutsLinkTool.html
它造成了我们的表单被某些浏览器视为不安全的问题。我正试图弄清楚如何让tomcat返回publics的https域作为基本URL。我试图在tomcat文档中了解基本请求URL是如何配置的,以及它是否可以自定义?
我想正确的解决方案应该是在tomcat前面安装一个apache服务器,但我想知道是否有一种更简单的管理方法,只需修改tomcat的server.xml文件
将secure="true"
添加到Connector
。正如文件所说:
如果希望调用
request.isSecure()
以返回此连接器接收的请求的true
,请将此属性设置为true
。您可能希望在从SSL加速器接收数据的SSL连接器或非SSL连接器上使用此功能,如加密卡、SSL设备甚至Web服务器。默认值为false
。
由于您的Netscaler正在处理SSL加密并将未加密的请求转发到Tomcat,因此它充当";SSL加速器";。
结果将是使用https:
生成的URL。