http://localhost:8443
への接続を強制しようとしていますhttps://localhost:8443
。 にアクセスするとサイトは正常に動作しますhttps://localhost:8443
。ユーザーがshttps では、Tomcat に修正してもらいたいです。
次のように定義された https 用のコネクタは 1 つだけです。
<Connector port="8443" rediretPort="8443"
protocol="HTTP/1.1"
connectionTimeout="20000"
SSLEnabled="true"
maxThreads="150"
scheme="https"
secure="true"
clientAuth="false"
sslProtocol="TLS"
keyAlias="alias"
keystoreFile="keystore.jks"
keypass="PASSWORD"
/>
これは Windows サーバー上にあります。Tomcat 6 はスタンドアロン サーバーです (IIS に接続されていません)。
web.xml を変更して次の内容を含めようとしました。
<security-constraint>
<web-resource-collection>
<web-resource-name>Protected Context</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
これは私にはうまくいきません。私が読んだところによると、これはユーザーをからにリダイレクトしますhttp://localhost:8080
(https://localhost:8443
コネクタ8080が定義している場合)リダイレクトポート(8443 など)。
スタンドアロンの Tomcat サーバーでもこれが可能かどうかはわかりません。Apache mod_rewrite または他の同様のソリューションでこれが可能であることはわかっていますが、Windows マシンに他のサービスをインストールしたくありません。
答え1
最初の文がタイプミスでない場合は、ポート 8080 に http のコネクタを追加し、説明したようにリダイレクトを追加します。http と https を同じポートでリッスンすることはできません。したがって、http はポート 8080 でリッスンし、https はポート 8443 でリッスンするようにしてください。