2013-06-28 83 views
0

我希望這是報告Tomcat7問題(在Java項目下發布)的正確位置。從DVD安裝12.3新鮮版本,下載Tomcat7並解壓到/ opt,然後啓動服務。這是無痛的,只是按預期工作。所以我測試了**http://localhost:8080**,沒有問題,然後我通過自定義server.xml來啓用https,然後使用keytool生成自簽名證書並重新啓動tomcat7服務。嘗試在OpenSUSE 12.3上啓用Tomcat7 HTTPS時出錯

對於你的參考,這是我使用的keytool命令和server.xml配置。

keytool -genkeypair -keyalg RSA -alias tomcat -keystore testkey 
-validity 999 -keysize 2048 

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" 
maxThreads="200" scheme="https" secure="true" 
clientAuth="false" sslProtocol="TLS" 
keystoreFile="/usr/share/tomcat7/webapps/testkey" 
keystorePass="testme" /> 

看着catalina.out,這裏是錯誤。

SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-apr-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:472) 
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:498) 
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:369) 
at org.apache.catalina.connector.Connector.initInternal(Connector.java:909) 
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) 
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559) 
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) 
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:781) 
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) 
at org.apache.catalina.startup.Catalina.load(Catalina.java:573) 
at org.apache.catalina.startup.Catalina.load(Catalina.java:596) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:616) 
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281) 
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:449) 

請給我一些建議,爲我的情況!非常感謝!

回答

2

要解決此問題,只需註釋掉定義APR偵聽器的行即可。 在你的「server.xml中」只是註釋掉該行:

<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> 

應該現在的工作很好,會抱怨不受信任的證書(如果你存儲在瀏覽器cert.db(火狐)證書

相關問題