服务器tomcat配置https最终解决方案

来源:互联网 发布:安装美工刀片的圆规 编辑:程序博客网 时间:2024/06/05 15:38

一开始参考了下篇博客内容:http://blog.csdn.net/jimmy609/article/details/18557955/

在本地配置后,hosts模拟服务器IP地址映射,IP访问、域名访问全部成功,同局域网可访问。但是,实战服务器出现问题:配置没有问题,tomcat启动没有问题,但是无法访问https的公网IP、公网域名,http正常。

怀疑是证书的问题,于是继续搜。。。 换了一种证书生成方式如下:

1. 创建证书 
需要安装JDK1.4以上版本并配置JAVA_HOME和PATH环境变量。 

切换到命令窗口,并切换到某个目录下(比如C:\) 
1)生成密钥 
keytool -genkey -alias tomcat -keyalg RSA -keypass 你的密码 -storepass 你的密码 -keystore server.keystore -validity 3600 
在交互命令行中,第一项“您的名字与姓氏是什么?”需要填写服务器域名(本机用localhost) 

2)导出证书 
keytool -export -trustcacerts -alias tomcat -file server.cer -keystore  server.keystore -storepass 你的密码

3)加入JDK受信任库 
keytool -import -trustcacerts -alias tomcat -file server.cer -keystore  %JAVA_HOME%/jre/lib/security/cacerts -storepass 你的密码 

还有两个辅助命令,如果需要的时候再使用: 
查看受信任库内容 
keytool -list -keystore %JAVA_HOME%/jre/lib/security/cacerts 

从受信任库中删除 
keytool -delete -trustcacerts -alias tomcat  -keystore  %JAVA_HOME%/jre/lib/security/cacerts -storepass 你的密码


2.修改Tomcat配置 
在%TOMCAT_HOME%/conf/server.xml中找到Connector配置群,增加一项
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
           port="8443" minSpareThreads="5" maxSpareThreads="75"
           enableLookups="true" disableUploadTimeout="true"
           acceptCount="100"  maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           clientAuth="false" sslProtocol="TLS"
           keystoreFile="C:/server.keystore"
           keystorePass="你的密码"
/>

其中keystoreFile配置为密钥库所在路径,keystorePass配置为密钥库文件保护密码。 


3.验证访问 
重启Tomcat,在浏览器中访问配置好的Web应用,如果弹出“证书错误”页面,选“继续浏览”即可,不影响使用。


参考:http://www.iteye.com/problems/52031


原创粉丝点击