从背景上来看我们得想想办法来薅一薅羊毛了,但为了安全性也还是有一些准入门槛的,如下:
/home/yine/scripts
, 然后添加可执行权限: chmod a+x /home/yine/scripts/certbot-auto
;sudo -iu root
切换到root权限添加脚本到sudo列表中去,以方便后续普通用户的证书自动更新操作;echo 'popo ALL = NOPASSWD: ...(其它已有指令), /home/yine/scripts/certbot-auto' > /etc/sudoers.d/yine
;sudo -iu yine
切换到普通用户;sudo /home/yine/scripts/certbot-auto certonly --standalone -d yourdomain.com --agree-tos --email youremail@gmail.com
;/etc/letsencrypt
下生成相关临时文件和证书文件;/etc/letsencrypt/live/yourdomain.com/fullchain.pem
为证书文件;/etc/letsencrypt/live/yourdomain.com/privkey.pem
为证书的私钥;/etc/letsencrypt
目录归属和权限 chown -R yine:studio /etc/letsencrypt
chmod -R 744 /etc/letsencrypt
; server {
listen 80;
server_name abc.com;
rewrite ^(.*) https://abc.com permanent;
}
server{
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
server_name www.yourdomain.com;
root /web/yourdomain.com/;
}
private_key = /etc/letsencrypt/live/yourdomain.com/privkey.pem
certificate = /etc/letsencrypt/live/yourdomain.com/fullchain.pem
#!/bin/bash
sudo /home/popo/scripts/certbot-auto renew --quiet
sudo /etc/init.d/kamailio force-reload
0 4 1 */2 * /home/yine/scripts/corn-cerbot-auto.sh
#每两个月的一号凌晨4点更新一次#!/bin/bash
sudo /home/popo/scripts/certbot-auto renew
HOME_DIR=/etc/letsencrypt/live
DOMAIN_DIR=xxx.com
DEST_DIR=/home/popo/DATA/etc/kamailio/certs/xxx.com
cd $HOME_DIR/$DOMAIN_DIR
REAL_PRIVKEY=`readlink $HOME_DIR/$DOMAIN_DIR/privkey.pem`
rm -rf $DEST_DIR/privkey.pem
cp -r $REAL_PRIVKEY $DEST_DIR/privkey.pem
chmod 777 $DEST_DIR/privkey.pem
REAL_FULLCHAIN=`readlink $HOME_DIR/$DOMAIN_DIR/fullchain.pem`
rm -rf $DEST_DIR/fullchain.pem
cp -r $REAL_FULLCHAIN $DEST_DIR/fullchain.pem
chmod 777 $DEST_DIR/fullchain.pem
sudo docker stop kamailio
sleep 3s
sudo docker start kamailio