Tomcat,Nginx配置https
Tomcat版本:apache-tomcat-9.0.44
测试时,Tomcat使用的证书是JDK中的keytool工具生成的自签名证书
JDK版本:JDK-11.0.10
Nginx版本:1.19.9
测试时,Nginx使用的证书由OpenSSL生成,需要先安装OpenSSL,Linux使用yum安装(Redhat)或apt安装(Ubantu),windows安装后续说明。
Tomcat配置https
-
首先确保本地有jdk的环境,可以使用java -version来查看,如果配置了环境变量,那就直接在产品安装目录/tomcat/conf目录下打开cmd,Linux环境下就进入该目录,之后运行以下命令:
keytool -genkeypair -alias sslKey -storepass 123456 -keyalg RSA -keysize 2048 -validity 3650 -keystore ./wisiy.jks /* -alias testKey:证书项的名字,必填项 -keyalg RSA:证书签名算法,tomcat建议RSA -storepass 123456:密钥库密码,也就是等下要生成的test.keystore的访问密码,妥善保管 -validity 3650:证书有效期,3650天,即10年 -keystore ./wisiy.jks:要生成的文件的位置,./test.keystore表示存储在当前目录下 */
在这里插入图片描述
-
如果有提示如下:按照信息运行里面的代码即可,这个过程会使用到刚刚的密码
PS:也是可以使用OpenSSL来生成这个证书和密钥文件的,但步骤相对麻烦,感兴趣可自行百度。
-
配置tomcat的https信息
注意事项:由于tomcat不能默认支持cer证书文件和key证书密钥文件,需要提前通过这两个文件生成tomcat可识别的p12文件,详情参考链接:OpenSSL 把cer证书链以及key文件生成keystore
-
如果没有在产品安装目录/tomcat/conf目录下生成jks文件,那就事先将jks密钥库文件copy到此目录下
-
然后修改server.xml配置文件,找到https的Connector连接器,作如下修改
修改https连接器的端口号(如果URL不想带端口号,则修改成https的默认端口443即可,切记不能设置为80,否则无法访问,因为80是http的默认端口)、秘钥库文件路径,及配置秘钥的口令(就是生成秘钥文件
-