仅针对某些端点将 Http 重定向到 HTTPS

Redirect Http to HTTPS only for certain endpoints

我已成功配置我的 Tomcat 以从端口 80 重定向到 443。但是,Tomcat 是否足够智能以仅将某些端点重定向到 443 而允许其他端点访问端口 80?
例如,我只希望从 http://myWebsite/myBankAccount/* to be redirected to https. But if you were to just access http://myWebsite.com 到达的端点,Tomcat 将允许端口 80 访问。

如果 Tomcat 不够智能,无法执行此操作,哪个应用程序可以执行此操作?

您可以使用 url-pattern 元素。这是一个例子:

<!-- Require HTTPS for everything that matches the url pattern: /myBankAccount/* -->
    <security-constraint>
        <web-resource-collection>
            <web-resource-name>HTTPSOnly</web-resource-name>
            <url-pattern>/myBankAccount/*</url-pattern>
        </web-resource-collection>
        <user-data-constraint>
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
    </security-constraint>