有很多手册介绍如何启用从HTTP到HTTPS的自动重定向。但是我需要禁用这种重定向(根据此建议SSL everywhere - all the time)。我使用Tomcat 7.x,我需要实现以下内容:


所有资源均受保护(通过web.xml中的配置)[完成]

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Application</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

当有人通过HTTP发出请求时-返回错误(我想是HTTP状态403),并且没有任何重定向


我已经尝试删除redirectPort中的server.xml

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"/>
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" />


但只会导致重定向到443端口(但我希望禁用重定向)。

所以我的问题是:如何禁用从HTTP到HTTPS的自动重定向并返回错误?

最佳答案

在conf / web.xml中注释掉块。这样做,redirectPort将被忽略。

关于tomcat - 如何在Tomcat上禁用从HTTP到HTTPS的自动重定向,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36032803/

10-16 08:07