服务器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
在本地配置后,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
相关文章推荐
- tomcat 服务器配置 https 双向认证
- https spring boot (tomcat) 阿里云服务器配置
- Nginx+Tomcat配置https的完整解决方案
- 配置Tomcat服务器支持HTTPS
- tomcat7 服务器配置HTTPS安全协议
- 服务器配置多个tomcat(解决方案)
- 服务器tomcat配置SSL证书(https)
- web服务器使用HTTPS,基于tomcat :nginx配置
- tomcat 服务器配置 https 双向认证
- 配置Tomcat服务器支持HTTPS
- Tomcat服务器配置https认证(使用keytool生成证书)
- Nginx+Tomcat服务器环境中配置https访问
- JavaWeb(5)——Tomcat服务器HTTPS配置
- Tomcat服务器https协议配置简介
- TOMCAT服务器配置HTTPS的过程
- Tomcat启用HTTPS(生成证书、配置Tomcat服务器)
- tomcat配置https服务器
- tomcat服务器上https的SSL证书安装配置
- 终结者:HTTPS在Tomcat中的使用(一)——生成密钥库文件与配置Tomcat服务器
- 服务器配置nginx和tomcat都使用https协议