Назад | Перейти на главную страницу

Tomcat обрабатывает http через порт 443 и не поддерживает https!

есть недопонимание, что происходит с Tomcat!

Мое приложение развернуто как ROOT.war на Tomcat. У меня есть один URL-адрес, доступ к которому я хочу получить только через SSL.

Tomcat хорошо обрабатывает этот URL:

http: // локальный: 443 / securedUrl

и не обрабатывать этот 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>

HTTP может успешно работать на порту 443. HTTPS - это не HTTP, это HTTP через TLS или SSL, и он может успешно работать на порту 80.

Они просто не одно и то же: http: // локальный: 443 / securedUrl и https: // localhost / securedUrl не указывают на один и тот же ресурс.