Tomcat 6.x サーバーで SSL 対応アプリを実行しようとすると、エラーが発生します。APR が有効になっています。
私は次のように証明書を作成しました:
openssl genrsa -des3 -out key.pem 2048
passphrase
openssl req -new -x509 -key key.pem -out cert.pem -days 1095
passphrase
私のssl構成は次のようになります:
<Connector protocol="org.apache.coyote.http11.Http11AprProtocol"
port="8444" minSpareThreads="5" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
clientAuth="false" sslProtocol="TLS"
SSLCertificateFile="/usr/local/tomcat/conf/ssl/cert.pem"
SSLCertificateKeyFile="/usr/local/tomcat/conf/ssl/key.pem"
SSLPassword="passphrase"/>
/>
ポートが非標準であることに気付くかもしれません。これは、このシステムに 2 つの個別の tomcat アプリケーションがあり、両方とも SSL を使用しているためです。他のTomcatをシャットダウンして問題のTomcatインスタンスのみを実行しても同じエラーが発生するため、これは問題ではないと思います。
したがって、1 つのインスタンスは 8080/8443 を使用し、問題のあるインスタンスは 8081/8444 を使用します。
Tomcat の適切なインスタンスは、常に完全に機能します。問題のインストールは、ssl なしで正常に動作します。問題のインスタンスのみを実行しようとしましたが、それでも同じ問題が発生するため、問題はこれに関連しているとは思いませんが、開示する必要があると考えました. また、機能しているTomcatのsslキーと証明書を悪いもので使用しようとしましたが、それでも同じエラーが発生したため、それもそうではないと思います。
したがって、私は困惑しています。
私が取得し続けるエラーは次のとおりです。
SEVERE: Error initializing endpoint java.lang.Exception: Invalid Server SSL Protocol
at org.apache.tomcat.jni.SSLContext.make(Native Method)
at org.apache.tomcat.util.net.AprEndpoint.init(AprEndpoint.java:680)
at org.apache.coyote.http11.Http11AprProtocol.init(Http11AprProtocol.java:107)
LifecycleException: Protocol handler initialization failed: java.lang.Exception: Invalid Server SSL Protocol
at org.apache.catalina.connector.Connector.initialize(Connector.java:1060)
at org.apache.catalina.core.StandardService.initialize(StandardService.java:677)
at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:795)
at org.apache.catalina.startup.Catalina.load(Catalina.java:530)
SEVERE: Error starting endpoint
java.lang.Exception: Socket bind failed: [98] Address already in use
at org.apache.tomcat.util.net.AprEndpoint.init(AprEndpoint.java:612)
at org.apache.tomcat.util.net.AprEndpoint.start(AprEndpoint.java:717)
at org.apache.coyote.http11.Http11AprProtocol.start(Http11AprProtocol.java:137)
at org.apache.catalina.connector.Connector.start(Connector.java:1131)
at org.apache.catalina.core.StandardService.start(StandardService.java:531)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
LifecycleException: service.getName(): "Catalina"; Protocol handler start failed: java.lang.Exception: Socket bind failed: [98] Address already in use
at org.apache.catalina.connector.Connector.start(Connector.java:1138)
at org.apache.catalina.core.StandardService.start(StandardService.java:531)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
助けていただければ幸いです。