到目前为止我所做的是:
(1)创建一个测试密钥库.
(2)将新生成的server.keystore放在$JBOSS_HOME / server / default / conf中
(3)在$JBOSS_HOME / server / default / deploy / jbossweb.sar中的server.xml中进行以下更改以包含:
<!-- SSL/TLS Connector configuration using the admin devl guide keystore --> <Connector protocol="HTTP/1.1" SSLEnabled="true" port="8443" address="${jboss.bind.address}" scheme="https" secure="true" clientAuth="false" keystoreFile="${jboss.server.home.dir}/conf/server.keystore" keystorePass="mypassword" sslProtocol = "TLS" />
(4)问题是当JBoss启动时它会记录这个异常(在启动期间)(但我仍然可以查看http://localhost:8080/下的所有内容):
03:59:54,780 ERROR [Http11Protocol] Error initializing endpoint
java.io.IOException:无法恢复密钥
在org.apache.tomcat.util.net.jsse.JSSESocketFactory.init(JSSESocketFactory.java:456)
在org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESocketFactory.java:139)
在org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:498)
在org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:175)
在org.apache.catalina.connector.Connector.initialize(Connector.java:1029)
在org.apache.catalina.core.StandardService.initialize(StandardService.java:683)
在org.apache.catalina.core.StandardServer.initialize(StandardServer.java:821)
在org.jboss.web.tomcat.service.deployers.TomcatService.startService(TomcatService.java:313)
我知道要启用完整的SSL客户端身份验证还有很多工作要做….
解决方法
>您可以将所有静态文件处理卸载到Apache以获得更好的性能
>您可以访问所有mod_rewrite(以及其他令人敬畏的模块)功能
>使用Apache设置SSL是没有道理的,Tomcat甚至不知道它是一个SSL通道
……等等.虽然java引擎可以处理SSL,但它不是生活中的一个优点,而且往往比它的价值更麻烦.让java处理webapps及其java代码,让Apache做它最擅长的事情.您还会发现mod_jk有很多很好的选项可以确保您的应用引擎不会过载;使用正确的参数组合,当Tomcat实例响应速度不够快(或崩溃/锁定)时,您可以让用户以干净,美观的方式临时重定向.