linux 服务器 Tomcat http 改成https
1.进入到linux目录下
/usr/local/tomcat7/conf/
2.生成证书
keytool -genkey -alias tomcat -keyalg RSA -keystore /usr/local/tomcat7/conf/.keystore
cat conf/.keystore
keytool -genkey:自动使用默认的算法生成公钥和私钥
-alias[名称]:给证书取个别名
-keyalg:制定**的算法,如果需要制定**的长度,可以再加上keysize参数,**长度默认为1024位,使用DSA算法时,**长度必须在512到1024之间,并且是64的整数倍
-keystore:参数可以指定**库的名称。**库其实是存放迷药和证书文件,**库对应的文件如果不存在会自动创建。
-validity:证书的有效日期,默认是90天
-keypass changeit:不添加证书密码
-storepass changeit:不添加存储证书的密码
3.修改tomcat配置文件server.xml
修改配置tomcat服务器 server.xml
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
uRIEncoding="UTF-8"
/>
将8443 改成443 ,因为https默认的端口是443,http默认的80
释放以下,将8443改成443,保持对称 keystoreFile 和 keystorePass 添加上
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="D:/software/apache-tomcat-7.0.54/tomcat.keystore" keystorePass="Ab123456"
/>
4.重启tomcat
只运行 https,不允许http 则 web.xml 的 welcome-file-list 下面 中添加
<welcome-file-list>
<welcome-file>/</welcome-file>
</welcome-file-list>
<security-constraint>
<web-resource-collection>
<web-resource-name>sslwebsokect</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
6.再次重启tomcat,访问http后会自动跳转到https
5.浏览器访问https
问题解决:
在两个不同的机器上,使用相同的.keystore,配置也相同,但是其中一个机器不知道为何总是访问不了https
检查步骤:
1.用wget连本地
2.用wget连外网
3.用lsof -i:8443检查端口的监听状态
4.用/etc/init.d/iptables status检查防火墙状态
5.发现问题:没有进行端口的转发,执行以下命令即可
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443
6.解决ie访问不了的问题
clientAuth="false" sslProtocol="TLS"
ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA"
上一篇: Cordova 3.x 实例开发 -- 基于Ionic的Todo应用
下一篇: 执行python时,使用fiddler代理,提示Unable to get local issuer certificate when using requests in python
推荐阅读
-
Nginx+Tomcat+Https 服务器负载均衡配置实践方案详解
-
JavaWeb入门——在Linux环境下安装Tomcat服务器
-
Linux下SVN服务器同时支持Apache的http和svnserve独立服务器两种模式且使用相同的访问权限账号
-
Linux中安装使用http_load对服务器进行压力测试的教程
-
关于云Linux部署tomcat服务器(Maven的多模块war包)
-
Linux服务器nginx访问日志里出现大量http 400错误的请求分析
-
Linux 用libevent实现的简单http服务器
-
详解nginx服务器http重定向到https的正确写法
-
使用squid搭建http和https的代理服务器设置指南
-
Linux云服务器安装JDK和Tomcat的详细步骤(推荐)