网上此类教程一大堆,本文主要记录步骤和几个注意点。
首先,我们使用jdk的keytool生成证书。命令如下:
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo }
span.s1 { }
keytool -genkey -alias tomcat -keyalg RSA -keystore tomcat.keystore
注意:检查你centos使用的是不是openjdk,如果是请卸载openjdk,安装oracle的jdk。为了避免不必要的麻烦,请保持开发环境,服务器环境的jdk版本至少都是一个大版本的。(比如都是1.8.x)
解释:alias 后面跟的是别名,随便起一个(如果你之前用过tomcat这个别名,这里就不能再用,即不能重复),这个别名在生成证书的最后步骤会出现。
keyalg 是生成证书的加密算法名称,这样写就行。
keystore 后面是生成的证书的位置,比如我这里,就会在敲命令的当前目录下,生成叫tomcat.keystore的证书。你也可以指定目录。
输入以上命令后,回车,会看到如下界面:
解释:上图中,标注口令要一致的地方,口令设置成tomcat-users.xml里,管理员用户的密码。
名字与姓氏这里,有的教程说随便填,有的说要与你的域名一致,我试验下来,是可以随便填的,因为我的域名当时并不可以使用,我也是通过IP地址直接访问我的服务器的,
我的tomcat里也没配置这个域名,所以这里填个域名又能说明什么。下面的组织单位,组织名称都可以随便填。
生成好keystore之后,就是配置tomcat的server.xml了:
解释:port属性值原来是8443,我改成了443,这样访问项目时就不需要带端口号了。keystoreFile后面填你生成的keystore文件的绝对路径。密码就是第一步中你设置的口令。
至此,tomcat的配置结束,保存,重启tomcat。
最后,vi /etc/sysconfig/iptables ,去防火墙,开放443端口。
然后,service iptables restart一下。
访问https://你服务器IP,看到证书不安全提示,继续访问就是了。
最后,贴上我配置过程中,参考的文章链接,感谢作者们!
http://www.linuxidc.com/Linux/2016-08/134339.htm
http://wakan.blog.51cto.com/59583/21600/
http://www.cnblogs.com/xiaoliao/p/5778262.html
http://blog.csdn.net/sunzxhqq/article/details/52797028