0

Web ベースの構成 UI を備えた Web アプリがあります。ユーザーが HTTP 経由でアクセスする場合、実際には HTTPS を使用する必要があることをユーザーに警告し、クリックすると HTTPS プレフィックス付きの URL にアクセスできるリンクを提供します。

デフォルトのポートを使用している場合、これは非常に簡単ですが、多くの場合、そうではありません。たとえば、HTTP が 8080 で、HTTPS が 8181 である場合があります。例: 80->443、8080->8181 ですが、Web コンテナからポートとプロトコルのリストを取得する方法はありますか? 理想的にはJava EE標準ですが、コンテナ固有のものでも開始できます...

編集 - 1つの明確化 - これは「既製」アプリケーション ( OpenSSO ) 用であるため、(a) ユーザーが本当に(たとえば、ラップトップでセキュア ポートのないコンテナーにデプロイしている)、(b) ユーザーに server.xml を編集させたくない。

4

3 に答える 3

1

構成のみを使用して、それらを https に自動的に転送できます。

あなたのweb.xmlで:

<user-data-constraint>
  <transport-guarantee>
    CONFIDENTIAL
  </transport-guarantee>
</user-data-constraint>

そして、HTTPConnector の server.xml で:

redirectPort="YOUR_SSL_PORT"
于 2008-12-03T01:41:54.543 に答える
0

ロードバランサーを使用している場合、通常、そのようなリダイレクトを自動的に実行するように構成できます。

于 2008-12-03T12:01:35.633 に答える
0

あなたの質問を正しく読んだら、ServletRequest getProtocolを照会して、接続が HTTP または HTTPS のどちらで着信しているか、およびどのバージョンであるかを確認できます。おまけとして、どのポートを取得できます。

決定を下し、アプリが指定したポートにリダイレクト (または転送) します。

回答をさらに明確にするために; HTTPS 通信サポートの有効化

于 2008-12-03T12:15:12.877 に答える