Как перенаправить HTTP трафик HTTPS при использовании виртуального хостинга в Tomcat

Обновить

April 2019

Просмотры

6 раз

1

Мне нужно настроить мой сервер Tomcat 9 для перенаправления HTTP на HTTPS-трафика.

Я пытался:

  1. Используя разъем для порта HTTP и имеющий атрибут redirectPort, указывающий на защищенный разъем.

  2. В том числе безопасности ограничение ссылки в нижней части web.xml, который работает для других серверов Tomcat, не используя виртуальный хостинг

соединитель

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />

<Connector 
        port="443"
        protocol="org.apache.coyote.http11.Http11AprProtocol"
        secure="true"
        scheme="https" 
        maxThreads="200" 
        SSLEnabled="true" 
        maxSpareThreads="75" 
        maxHttpHeaderSize="8192" 
        acceptCount="100"  
        enableLookups="false" 
        disableUploadTimeout="true"
        defaultSSLHostConfigName="example1.com">
                        <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
                        <SSLHostConfig hostName="example1.com">
                                        <Certificate 
                                        certificateKeystoreFile="www_example1_com.jks"
                                        certificateKeystorePassword="…” />
                        </SSLHostConfig>
                        <SSLHostConfig hostName="example2.com">
                                        <Certificate 
                                        certificateKeystoreFile="www_example2_com.jks"
                                        certificateKeystorePassword="…” />
                        </SSLHostConfig>
        </Connector>

Безопасность Constraint

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

Хост конфигурации в server.xml

      <!-- example1.com -->
      <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">

        <Valve className="org.apache.catalina.valves.AccessLogValve" 
               directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>

      <!-- example2.com -->
      <Host name="example2.com" appBase="website-webapps" unpackWARs="true" autoDeploy="true">

        <Valve className="org.apache.catalina.valves.AccessLogValve" 
               directory="website-logs"
               prefix="website_access_log." 
               suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>

0 ответы