2014-03-26 91 views
2

我正嘗試使用Tomcat 7配置SSL,但無法這樣做。請指導。無法使用Tomcat配置SSL 7

命令生成的SSL證書:

C:\Java\jdk1.7.0_40\bin>keytool -genkeypair -alias tomcat-keystore -keyalg RSA -keystore C:\my.keystore 

server.xml中

<Connector port="8443" maxThreads="150" scheme="https" secure="true" SSLEnabled="true" 
    keystoreFile="C:\my.keystore" keystorePass="abc" 
    clientAuth="false" keyAlias="tomcat-keystore" sslProtocol="TLS"/> 

的問題是,如果我把https://wwww.secdevapp.net:8443瀏覽器說:「該網頁無法使用」,我看到的錯誤在catalina.log文件(下面提到)中,但http://www.secdevapp.net:8080工作正常。

Tomcat的錯誤日誌:

Mar 26, 2014 11:22:04 AM org.apache.catalina.core.StandardService initInternal 
SEVERE: Failed to initialize connector [Connector[HTTP/1.1-8443]] 
org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8443]] 
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106) 
    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:813) 
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) 
    at org.apache.catalina.startup.Catalina.load(Catalina.java:638) 
    at org.apache.catalina.startup.Catalina.load(Catalina.java:663) 
    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:606) 
    at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:280) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:454) 
Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed 
    at org.apache.catalina.connector.Connector.initInternal(Connector.java:980) 
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) 
    ... 12 more 
Caused by: java.lang.Exception: Connector attribute SSLCertificateFile must be defined when using SSL with APR 
    at org.apache.tomcat.util.net.AprEndpoint.bind(AprEndpoint.java:467) 
    at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:640) 
    at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:434) 
    at org.apache.catalina.connector.Connector.initInternal(Connector.java:978) 
    ... 13 more 

回答

4

註釋掉server.xml行中的APR監聽器:27在Windows操作系統中有訣竅。 找到解決方案http://java.dzone.com/articles/ssl-your-tomcat-7

APR是一個本地庫,您可以在Tomcat安裝過程中安裝它。它確實將Tomcat與您的操作系統聯繫在一起,但「提供卓越的可擴展性和性能」。對於您的生產環境來說這是一件好事。在其他環境中,我看不到這一點。

0
  • 檢查服務器上的端口。 tomcat/java實際上是在 端口8443上監聽的嗎?
  • 檢查tomcat日誌,通常在tomcat/logs目錄中。訪問日誌說的是什麼 ?
  • 您是否在使用該連接器後重新啓動tomcat? catalina.log是什麼意思?
+0

根據您的指示在catalina.log中發現了一些錯誤。添加了錯誤日誌到原始帖子。回答你的另外兩個問題:是的,我重新啓動了Tomcat,並且檢查了server.xml,Tomcat正在偵聽端口8443。 – user2325154