[英]tomcat APR with SSL - port 98 already in use/Invalid Server SSL Protocol
嘗試在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"/>
/>
您可能會注意到端口是非標准的。 這是因為我在該系統上有兩個單獨的tomcat應用程序,並且它們都使用SSL。 我不認為這是問題所在,因為即使我關閉另一個tomcat並僅運行問題tomcat實例,我也會遇到相同的錯誤。
因此,一個實例使用8080/8443,而一個實例使用8081/8444。
雄貓的好實例總是完美的。 沒有ssl,問題安裝正常。 我僅嘗試運行問題實例,但仍然遇到相同的問題,因此我認為問題與此無關,但我認為應該公開。 我還嘗試在壞的那個上使用功能正常的tomcat的ssl密鑰和cert,但仍然出現相同的錯誤,因此我也不認為是那樣。
因此,我感到困惑。
這是我不斷得到的錯誤:
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)
幫助表示贊賞。
將協議從標簽中的“ org.apache.coyote.http11.Http11AprProtocol”更改為“ org.apache.coyote.http11.Http11NioProtocol”,然后嘗試一次
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.