tomcat 配置https访问方式--let's encrypt方式生成证书

一、从Certbot中获取脚本文件,并将其设置成可执行

1、wget https://dl.eff.org/certbot-auto
2、chmod a+x certbot-auto

二、编写一个配置文件

新建一个目录,用来保存配置文件,例如/etc/letsencrypt/config/demo.com.conf(划线部分改成自己的域名)中,内容如下所示:

1、domains = demo.com // 自己的域名
2、rsa-key-size = 2048 // 推荐使用2048或者3072。
3、email = [email protected] // 用于从Let’s Encrypt接收证书信息的邮箱
4、text = True

5、authenticator = webroot
6、webroot-path = /var/www/html

三、获取证书

sudo ./certbot-auto -c /etc/letsencrypt/configs/demo.com.conf certonly  //注意改成自己的域名

或者不进行第二步,直接执行以下命令:
./certbot-auto certonly --standalone --email [email protected] -d demo1.com -d demo2.com
#这里是多域名的,想要在添加域名的话继续在后面添加 -d 域名  email后面填写的是你的邮箱

成功后你会看到提示你现在证书和私钥就位于/etc/letsencrypt/live/demo.com/目录下。

如果配到这样的报错:tomcat 配置https访问方式--let's encrypt方式生成证书_第1张图片

参考如下解决办法:https://blog.csdn.net/tmy257/article/details/41013011

四、合成Tomcat证书

合成tomcat的证书,在 tomcat 底下创建一个文件夹用来存放准备生产的证书(当然也可以自己选择一个目录存放),进入申请证书的目录:

#生成.p12文件
    openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out fullchain_and_key.p12 -name tomcat_letsencrypt

   这里会被要求设置密码,输入就行(可自行设置,下面用到的:123456)
也可在命令里加上密码:
    openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out fullchain_and_key.p12 -name tomcat_letsencrypt -passout pass:123456

    #生成.jks证书
    keytool -importkeystore -deststorepass '123456' -destkeypass '123456' -destkeystore MyDSKeyStore.jks -srckeystore fullchain_and_key.p12  srcstoretype PKCS12 -srcstorepass '123456' -alias tomcat_letsencrypt

    其中 123456是上一步中设置的ssl证书密码,这里的123456是要设置的keystore密码,可以与123456一致,避免出错,下面配置tomcat会用到

五、配置证书

在找到你Tomcat项目下conf目录,修改server.xml文件:

#增加此段设置


保存退出,开启Tomcat项目,在浏览器输入https://demo.com:8888/项目名即可。(port可自行设置)

六、配置多tomcat同时运行

1、修改/etc/profile文件

#vi /etc/profile  //末尾添加
TOMCAT_HOME_2=/usr/local/tomcat8.5
CATALINA_HOME_2=/usr/local/tomcat8.5
CATALINA_BASE_2=/usr/local/tomcat8.5
export TOMCAT_HOME_2  CATALINA_HOME_2  CATALINA_BASH_2
#source /etc/profile    //重载配置文件使之立即生效

2、修改shutdown.sh文件

8015" shutdown="SHUTDOWN">  //把8005改为8006
    8081" protocol="HTTP/1.1"    //把8080改为8081
               connectionTimeout="20000" 
               redirectPort="8443" />
#注意与另一个的shutdown.sh的端口不一样就行!!!

3、修改catalina.sh文件

#在开始添加此代码段
export CATALINA_HOME=$CATALINA_HOME_2  
export CATALINA_BASE=$CATALINA_BASE_2       

 

你可能感兴趣的:(tomcat 配置https访问方式--let's encrypt方式生成证书)