gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 09:52:26 27 4
gpt4 key购买 nike

我正在对使用 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 中的非安全 URL 模式 block ,但这仍然不会在 https 之后自动重定向到 http。

 <user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>

如果你真的需要,你必须写一个Filter检查 URL 是否不是安全模式的一部分,然后重定向回 http。

关于java - Tomcat:从 HTTP 重定向到 HTTPS 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4260226/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com