![Tomcat 使用端口 443 处理 http 而不处理 https !](https://linux22.com/image/519410/Tomcat%20%E4%BD%BF%E7%94%A8%E7%AB%AF%E5%8F%A3%20443%20%E5%A4%84%E7%90%86%20http%20%E8%80%8C%E4%B8%8D%E5%A4%84%E7%90%86%20https%20%EF%BC%81.png)
对 Tomcat 发生的事情有误解!
我已将应用程序部署为 ROOT.war 并放在 Tomcat 上。我有一个仅希望通过 SSL 访问的 URL。
Tomcat处理好这个URL:
并且不处理此 URL:
https://localhost/securedUrl
为什么?
一段$CATALINA_HOME/conf/server.xml:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
<Connector port="443"
maxThreads="150"
minSpareThreads="25"
maxSpareThreads="75"
enableLookups="true"
disableUploadTimeout="true"
acceptCount="100"
debug="0"
scheme="https"
secure="true"
clientAuth="false"
sslProtocol="TLS"
keystoreFile="/webapps/ROOT/myapp.keystore.bin"
keystorePass="lalala" />
一段$CATALINA_HOME/webapps/ROOT/WEB-INF/web.xml:
<security-constraint>
<web-resource-collection>
<web-resource-name>secured_postbacks</web-resource-name>
<url-pattern>/securedUrl</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
</web-app>
答案1
HTTP 可以在端口 443 上顺利运行。HTTPS 不是 HTTP - 它是通过 TLS 或 SSL 的 HTTP - 并且它可以在端口 80 上顺利运行。
它们根本不一样:http://本地主机:443/securedUrl和https://localhost/securedUrl不要指向同一资源。