0

Tomcatの構成がほぼ完了しそうです。

私が抱えている問題は、クライアントアプリケーションとブラウザの両方に関するものです。

ユーザーが自分のブラウザーでTomcatにアクセスするときに、https経由でのみアクセスできるようにして、証明書を使用して認証できるようにします。

クライアントアプリケーションでは、axis2と通信するときに、httpのみを使用したいので、サーバーに過負荷をかけません。証明書を使用するパスワードコールバックでapacherampartを使用しているので、httpsを使用しなくても問題はありません。

さて、これが問題の始まりでした。これが私が何とか仕事に取り掛かったものです:

TomcatでSSLを許可すると、クライアント認証はブラウザの魅力のように機能します。

ただし、サーバーには引き続きアクセスできます

http://localhost:8080

この問題に関する私のserver.xmlは次のとおりです。

<Connector port="8080" protocolo="HTTP/1.1" redirectPort="8443" />

<Connector port="8443" maxThreads="150" scheme="https" secure="true" SSLEnabled="true" keystoreFile="conf/service.jks" keystorePass="password" clientAuth="true" keyAlias="service" sslProtocol="TLS"/>

8443ポートにリダイレクトするべきではありませんか?

私のクライアントアプリケーションは、8080ポートを介して問題なく通信できます。

だから私は何が間違っているのですか?

4

1 に答える 1

1

アプリケーションの web.xml で security-constraint を定義しましたか? そうでない場合は、次のようなものを追加してみてください。

<security-constraint>
  <web-resource-collection>
    <web-resource-name>SSL Forwarding</web-resource-name>
    <url-pattern>/*</url-pattern>
  </web-resource-collection>
  <user-data-constraint>
    <transport-guarantee>CONFIDENTIAL</transport-guarantee>
  </user-data-constraint>
</security-constraint>
于 2012-06-21T17:02:04.963 に答える