您的位置:首页 > 理论基础 > 计算机网络

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

2017-10-14 10:42 381 查看
一开始参考了下篇博客内容: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 你的密码 (密码与上述不同,这个是jdk密钥,默认changeit)

还有两个辅助命令,如果需要的时候再使用: 
查看受信任库内容 
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应用,如果弹出“证书错误”页面,选“继续浏览”即可,不影响使用。

特别注意的是:JDK路径如果带空格,需要处理(百度一下),比如“Program files”。

参考:http://www.iteye.com/problems/52031
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  后台