Tomcat httpからhttpsへ

Tomcat httpからhttpsへ

私はTomcatを初めて使用していますが、この場合は私のウェブサイトで作業できます。

http://myserver:8080/path/login/login.html

ポート8443を使用してhttpsを有効にしたいです。

https://myserver:8443/path/login/login.html

通常のユーザーとしてtomcatを使用する場合、設定は次のとおりです。サーバー.xml、これウェブサイト:8443私はSSL証明書を使用していますウェブサイト:8080もう動作しません。 httpモードがもう機能しないのは正常ですか? httpsに直接リダイレクトするにはどうすればよいですか? web.xmlに有名なグループがありますか?

<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />


<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               compression="on"
               compressionMinSize="2048"
               compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,text/json,application/x-javascript,application/javascript,application/json" />


<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
               maxThreads="150" SSLEnabled="true">
        <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
        <SSLHostConfig>
            <Certificate certificateKeyFile="conf/cert.key"
                         certificateFile="conf/cert.crt"
                         type="RSA" />
        </SSLHostConfig>
    </Connector>

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

非常にありがとう

ベストアンサー1

いいえ、すべてのコネクタは独立して動作する必要があります。 Tomcatを再起動する前に、実行中のTomcatインスタンスを停止し、他のアプリケーションがそのポートを使用していないことを確認してください。

また、catalina.log起動後に何が起こるかを確認してください。次のように、ポートごとに1つのログメッセージを含める必要があります。

04-Dec-2020 19:24:16.658 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
04-Dec-2020 19:24:16.750 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["https-openssl-apr-8443"]
04-Dec-2020 19:24:16.782 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
04-Dec-2020 19:24:16.825 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [8,729] milliseconds

conf/web.xmlすべてのWebアプリケーションに対してすべてのリクエストをHTTPからHTTPSにリダイレクトするには、最後の行(CATALINA_BASEまたはCATALINA_HOMEディレクトリ)の前に次のコードを追加します</web-app>

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

転送保証値は、CONFIDENTIALこのパターンに一致するすべてのURLがセキュア接続を使用することを意味します。つまり、SSL以外の要求は、コネクタ設定で定義されている接続/* にリダイレクトされます。redirectPort

おすすめ記事