首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用Tomcat 7配置SSL

无法使用Tomcat 7配置SSL
EN

Stack Overflow用户
提问于 2014-03-26 23:27:06
回答 2查看 9.9K关注 0票数 2

我正在尝试使用Tomcat 7配置SSL,但无法这样做。请指点一下。

用于生成SSL证书的命令:

代码语言:javascript
复制
C:\Java\jdk1.7.0_40\bin>keytool -genkeypair -alias tomcat-keystore -keyalg RSA -keystore C:\my.keystore

server.xml

代码语言:javascript
复制
<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错误日志:

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-27 00:27:15

注释掉server.xml行中的APR侦听器:27可以在Windows操作系统中使用。从http://java.dzone.com/articles/ssl-your-tomcat-7找到了解决方案

APR是一个本地库,可以在安装Tomcat的过程中安装。它确实将您的Tomcat绑定到您的操作系统上,但“提供了卓越的可扩展性和性能”。这对于您的生产环境来说是一件很好的事情。在其他环境中,我看不到这一点。

票数 4
EN

Stack Overflow用户

发布于 2014-03-26 23:47:08

  • 检查服务器上的端口。tomcat/java是否真的在监听端口8443?
  • 检查tomcat日志,通常位于tomcat/logs目录中。访问日志是怎么说的?
  • 在使用那个连接器后是否重新启动了tomcat?

:catalina.log怎么说?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22665723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档