Tomcat:从HTTP重定向到HTTPS的问题

我正在对使用Struts并部署在Tomcat上的现有Web应用程序进行一些修改。当用户访问一个特定页面时,我试图使我的应用程序从HTTP重定向到HTTPS。为此,我添加了我的web.xml:

<security-constraint>

<web-resource-collection>

<web-resource-name>secured page</web-resource-name>

<url-pattern>/secured.do</url-pattern>

</web-resource-collection>

<user-data-constraint>

<transport-guarantee>CONFIDENTIAL</transport-guarantee>

</user-data-constraint>

</security-constraint>

并到我的server.xml:

<Connector port="8443"

maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="true" disableUploadTimeout="true"

acceptCount="100" debug="0" scheme="https" secure="true"

clientAuth="false" sslProtocol="TLS"

keystoreFile=".keystore"

keystorePass="password" />

而且有效。问题是,一旦用户重定向到HTTPS,即使他访问另一个常规页面,他也不会返回到HTTP。我的问题是,这种行为是否正常?前面提到的配置是否应该这样做?还是与导致此行为的应用程序相关?谢谢

回答:

是的,这是Tomcat上的正常行为。

一旦移至https,它将不会将其他URL重定向回http,除非该URL明确地用于http。

您可以尝试将其添加到中的非安全网址格式块中web.xml,但这在https之后仍不会自动重定向到http。

 <user-data-constraint>

<transport-guarantee>NONE</transport-guarantee>

</user-data-constraint>

如果 确实需要 ,则必须编写一个

Filter检查URL是否不属于安全模式的一部分,然后重定向回http。

以上是 Tomcat:从HTTP重定向到HTTPS的问题 的全部内容, 来源链接: utcz.com/qa/412036.html

回到顶部