网上很多教程,但大部分不够全面准确,好不容易找到一篇靠谱的: blog.51cto.com/jawsy/24048…
在这里也写下自己的流程,免得以后忘得一干二净。
并没有直接使用Linux的keytool工具来生成SSL证书,虽然是永久有效,不过据说使用之后浏览器地址栏左边不会出现小绿锁,但我的谷歌浏览器不管哪家的https请求,左边的也都是灰色的锁子,小绿锁哪来的?先撇过这茬...
直接在阿里云申请了一年免费的SSL证书(等快到期再考虑是否续费或者通过keytool的方式来做)。如果服务器也在阿里云上挂着,则需要添加443的安全站规则;而公司服务器都在某某机房,只需要在服务器上把防火墙的443端口打开,在其他地方使用 telnet ip 443来访问看端口是否正常开放。
443端口开放之后,还需要配置tomcat:
-
把SSL证书放置在tomcat路径下的cert新建文件夹中,然后打开conf/server.xml文件打开以下标签:
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" scheme="https" secure="true" keystoreFile="cert/证书名称.pfx" keystoreType="PKCS12" keystorePass="证书密码" clientAuth="false" SSLProtocol="TLSv1+TLSv1.1+TLSv1.2" ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/> 复制代码
-
把server.xml文件中所有Connector标签中的redirectPort值都改成443。
-
打开/conf/web.xml文件,在文件的末尾加入以下内容:
<security-constraint> <web-resource-collection > <web-resource-name >SSL</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint> 复制代码
配置完成后重启TOMCAT后即可以使用SSL。IE地址栏中可以直接输入地址不必输入“http://” 或者 “https://” ;也可以输入 “http:// ” 会跳转成为 “https://” 来登录