2012-04-10 8 views
2

eclipseでtomcatでサーブレットを実行しようとしています。私は、サーバー上で実行、サーブレットが実行され、以下のようにリンクを私に提供していないとき:httpsでJavaサーブレットをどのように起動しますか?

は「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:// ..."にします。あなたはどうやってそれをしますか?

+0

実際のセキュリティに関心がある場合は、あなたの全体のserver.xmlファイルを投稿することができますリダイレクトしていないことをお勧めでしょうか? – dash1e

+0

@ dash1e、彼の 'Connector'の設定は正しいです。私の答えは以下を読んでください。 –

答えて

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>はあなたを確保することにしたいあなたのパスと一致していることを確認してください。

+3

グローバル 'web.xml'でそのパラメータを変更しないでください。あるいは、そのTomcat上で動作するすべてのTomcatアプリケーションに対して有効になります。しかし、あなたのアプリケーションの 'WEB-INF'の下にある' web.xml'を使います。 – dash1e

+0

@ dash1e、私の記事の最後の文章を読むことを検討してください。はい、それをあなたの 'WEB-INF/web.xml'に追加することができますが、OPはそれを行うためにTomcatを設定したいと考えています。 –

+0

WEB-INF/web.xmlの内部に設定することで、Tomcatを設定します。 – Cdaragorn

5

サーブレットにリクエストを送信するときにhttpsプロトコルを使用する場合は、WebアプリケーションのWEB-INF/web.xmlファイルを変更する必要があります。あなたのケースで は、この設定のparamsを追加:私が正しくあなたの問題を理解していれば

<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> 
0

を、あなたのサーブレットによって提供されるウェブページからhttpためのURLを公開しています。
あなたはhttpsではなく、あなたがポート443用コネクタに(ポート80またはあなたがそれを持っている8080に)あなたの平野httpコネクタをredirectすべきであることを要求を変更する必要がある場合。
グーグルtomcat redirect http to httpsの場合、たくさんのリンクが見つかります。 redirect tomcat to https

しかし、私はあなたが

+0

最初の2つの回答と同じ............ – sunleo

関連する問題