Tomcat和Nginx配置https

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

  1. 首先确保本地有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表示存储在当前目录下
    */
    

在这里插入图片描述

  • 如果有提示如下:按照信息运行里面的代码即可,这个过程会使用到刚刚的密码

    imgTomcat和Nginx配置https_第1张图片
    Tomcat和Nginx配置https_第2张图片

PS:也是可以使用OpenSSL来生成这个证书和密钥文件的,但步骤相对麻烦,感兴趣可自行百度。

  1. 配置tomcat的https信息

    注意事项:由于tomcat不能默认支持cer证书文件和key证书密钥文件,需要提前通过这两个文件生成tomcat可识别的p12文件,详情参考链接:OpenSSL 把cer证书链以及key文件生成keystore

    • 如果没有在产品安装目录/tomcat/conf目录下生成jks文件,那就事先将jks密钥库文件copy到此目录下

    • 然后修改server.xml配置文件,找到https的Connector连接器,作如下修改
      Tomcat和Nginx配置https_第3张图片

      修改https连接器的端口号(如果URL不想带端口号,则修改成https的默认端口443即可,切记不能设置为80,否则无法访问,因为80是http的默认端口)、秘钥库文件路径,及配置秘钥的口令(就是生成秘钥文件时设置的口令),pfx格式是同样的设置方式,只需修改证书路径和密码即可。

你可能感兴趣的:(linux,nginx,java,https)