Let's Encrypt的Certbot自动生成证书和自动更新证书
网站启用HTTPS必须制作证书,而证书的制作需要定期更新。这里介绍了Certbot证书自动生成工具和自动更新的方法。并描述了Tomcat如何配置pem证书。
主要步骤如下:
一、下载安装Certbot
wget https://dl.eff.org/certbot-auto
sudo mv certbot-auto /usr/local/bin/certbot-auto
sudo chown root /usr/local/bin/certbot-auto
sudo chmod 0755 /usr/local/bin/certbot-auto
如果使用root账户,那就直接下载安装就可以了。
二、选择Certbot运行方式
有两种运行方式,一个是网站停止运行,绑定80端口,这时候采用如下命令:
sudo /usr/local/bin/certbot-auto certonly --standalone
第二个是网站正在运行,你不想停止网站
sudo /usr/local/bin/certbot-auto certonly --webroot /home/tomcat/webapps/root
注意,/home/tomcat/webapps/root
是你的网站根目录所在的路径。
执行上述两条命令之后就会生成证书了,例如本网站的证书生成位置:
/etc/letsencrypt/live/datalearner.com/fullchain.pem
一般来说会有四个文件:
cert.pem -> ../../archive/datalearner.com/cert1.pem
chain.pem -> ../../archive/datalearner.com/chain1.pem
fullchain.pem -> ../../archive/datalearner.com/fullchain1.pem
privkey.pem -> ../../archive/datalearner.com/privkey1.pem
三、配置服务器的证书
生成了证书之后就根据我们自己的服务器来配置了。加入你的服务器软件是tomcat,那么就在tomcat配置文件({tomcat_home}/conf/server.xml)中修改:
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" compression="on" compressionMinSize="50" compressableMimeType="image/gif,image/jpg,text/html,text/xml,text/javascript,application/x-javascript,application/javascript,text/css,text/plain" >
<SSLHostConfig>
<Certificate certificateKeyFile="/etc/letsencrypt/live/datalearner.com/privkey.pem"
certificateFile="/etc/letsencrypt/live/datalearner.com/cert.pem" certificateChainFile="/etc/letsencrypt/live/datalearner.com/chain.pem"
type="RSA" />
</SSLHostConfig>
</Connector>
四、配置证书的自动更新
执行如下语句,在系统中加入定时执行Certbot证书生成更新语句:
echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && /usr/local/bin/certbot-auto renew -q" | sudo tee -a /etc/crontab > /dev/null
欢迎大家关注DataLearner官方微信,接受最新的AI技术推送
