6

tomcatでsslをサポートするために....キーストアファイルを作成します。自己署名証明書が含まれている.....次に、tomcat 7.0のserver.xmlファイルを開き、server.xmlでこのコードを見つけます。

`     <!-- Define a SSL HTTP/1.1 Connector on port 8443
     This connector uses the JSSE configuration, when using APR, the
     connector should be using the OpenSSL style configuration
     described in the APR documentation -->

     <!-- <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
           maxThreads="150" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS" /> -->    ` 

コネクタからコメントを削除し、KeystoreFileエントリとKeystorePassエントリを次のようにコメント化されていないコネクタコードに配置します.........

`    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
      maxThreads="150" scheme="https" secure="true"
      clientAuth="false" sslProtocol="TLS" **keystoreFile**="d:\cpademo.keystore"
     **keystorePass**="cpademo"/>      `

The above code works in tomcat 6.0...and allow https connection with tomcat but i get the error in tomcat 7.0 log file which indicate that it does not suppoert connection to https 8443 connection. Error in log file is following as.....

ERROR:

SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-ap
r-8443"]
java.lang.Exception: Connector attribute SSLCertificateFile must be defined when
using SSL with APR
    at org.apache.tomcat.util.net.AprEndpoint.bind(AprEndpoint.java:484)
    at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:554)

plsは私がこの問題を解決するのに役立ちます。よろしくお願いします

4

2 に答える 2

17

JSSE コネクタ (BIO および NIO) の SSL 構成で APR/ネイティブ コネクタを使用しています。最も簡単な修正は、server.xml で APR ライフサイクル リスナーをコメント アウトすることです。

于 2012-05-11T07:32:46.277 に答える
11

protocolから変更する必要があります。

protocol="HTTP/1.1"

protocol="org.apache.coyote.http11.Http11NioProtocol"

ここに良い記事があります http://java.dzone.com/articles/setting-ssl-tomcat-5-minutes

mkyong の記事は時代遅れで、私が上で提案した変更が欠けています。

于 2013-11-03T20:16:55.197 に答える