4

Eclipse で Tomcat でサーブレットを実行しようとしています。サーバーで実行すると、サーブレットが実行され、次のようなリンクが表示されます。

「http://localhost:8443/AuthServer/サーバー」

SSL 用に Tomcat サーバーを次のように構成しました。

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" keystoreFile="C:\Users\owner\.keystore" keystorePass="sheetalkshirsagar">

サーバーでサーブレットを実行すると、まだ http が使用されます。サーブレットへのリンクを「http://..」ではなく「https://...」にしたい。どうやってそれをしますか?

4

3 に答える 3

7

そのサーブレットにリクエストを送信するときに必ず https プロトコルを使用したい場合WEB-INF/web.xmlは、Web アプリケーションのファイルを変更する必要があります。あなたの場合、この構成パラメーターを追加します。

<security-constraint>
    <web-resource-collection>
        <web-resource-name>AuthServer</web-resource-name>
        <url-pattern>/Server</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>
于 2012-04-10T16:49:10.417 に答える
4

TOMCAT_HOME/confフォルダに、という名前のファイルがありますweb.xml。そこにsecurity-constraint要素を追加する必要があります。

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

<url-pattern>保護したいパスと一致していることを確認してください。

于 2012-04-10T16:38:22.880 に答える
0

私があなたの問題を正しく理解していればhttp、サーブレットが提供する Web ページからの URL を公開していることになります。代わりに
リクエストを変更する必要がある場合は、プレーンコネクタ (ポート内またはそれがある場所) を port のコネクタにする必要があります。 Googleで検索すると、 Tomcat を https にリダイレクトするなど、たくさんのリンクが見つかります。httpsredirecthttp808080443
tomcat redirect http to https

ただし、実際のセキュリティに関心がある場合は、リダイレクトしないことをお勧めします

于 2012-04-10T16:57:57.477 に答える