Tomcat 请求 URL
Tomcat request URL
我们在 tomcat 服务器上托管的 java Web 应用程序存在问题。
tomcat 实例使用以下设置运行:
<Connector port="8090" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
在应用中,links使用getContextPath方法,其中returns links如:
http://localhost:8090/webapp
但是,当被外部访问(Netscaler 重定向到服务器和端口 8090)时,应用程序在使用 URL(例如 https://public.domain.com/webapp)的 HTTPS 端口上查询时,将 return以下 link 秒:
http://public.domain.com:80/webapp/...
link是使用StrutsLinkTool setAction()方法生成的
https://velocity.apache.org/tools/1.2/struts/StrutsLinkTool.html
它导致我们的表单被某些浏览器视为不安全的问题。
我想弄清楚如何让 tomcat 到 return 公共 https 域作为基础 URL。我试图在 tomcat 文档中找出基本请求 URL 是如何配置的以及它是否可以自定义?
我想正确的解决方案是在 tomcat 前面使用 apache 服务器,但我想知道是否有更简单的方法来管理但修改 tomcat 的 server.xml 文件
将 secure="true"
添加到 Connector
。正如 documentation 所说:
Set this attribute to true
if you wish to have calls to request.isSecure()
to return true
for requests received by this Connector. You would want this on an SSL Connector or a non SSL connector that is receiving data from a SSL accelerator, like a crypto card, an SSL appliance or even a webserver. The default value is false
.
由于您的 Netscaler 正在处理 SSL 加密并将请求 un-encrypted 转发到 Tomcat,因此它充当“SSL 加速器”。
结果将是使用 https:
.
生成的 URL
我们在 tomcat 服务器上托管的 java Web 应用程序存在问题。
tomcat 实例使用以下设置运行:
<Connector port="8090" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
在应用中,links使用getContextPath方法,其中returns links如: http://localhost:8090/webapp
但是,当被外部访问(Netscaler 重定向到服务器和端口 8090)时,应用程序在使用 URL(例如 https://public.domain.com/webapp)的 HTTPS 端口上查询时,将 return以下 link 秒: http://public.domain.com:80/webapp/...
link是使用StrutsLinkTool setAction()方法生成的 https://velocity.apache.org/tools/1.2/struts/StrutsLinkTool.html
它导致我们的表单被某些浏览器视为不安全的问题。 我想弄清楚如何让 tomcat 到 return 公共 https 域作为基础 URL。我试图在 tomcat 文档中找出基本请求 URL 是如何配置的以及它是否可以自定义?
我想正确的解决方案是在 tomcat 前面使用 apache 服务器,但我想知道是否有更简单的方法来管理但修改 tomcat 的 server.xml 文件
将 secure="true"
添加到 Connector
。正如 documentation 所说:
Set this attribute to
true
if you wish to have calls torequest.isSecure()
to returntrue
for requests received by this Connector. You would want this on an SSL Connector or a non SSL connector that is receiving data from a SSL accelerator, like a crypto card, an SSL appliance or even a webserver. The default value isfalse
.
由于您的 Netscaler 正在处理 SSL 加密并将请求 un-encrypted 转发到 Tomcat,因此它充当“SSL 加速器”。
结果将是使用 https:
.