2013-06-28 3 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 (파이어 폭스)에 인증서를 저장하는 경우 (신뢰할 수없는 인증서에 대한 불평을