Let's Encrypt Let's go

早就要想弄let’s encrypt 但是由于一直忙外加Let’s encrypt 初期复杂没有弄。

今天要迁移一公司服务用到的https证书过期,故又弄起来let’s encrypt。它的简介这里就不描述了,网上很多介绍的不错直接进入主题。

1、获取 Certbot 客户端

wget https://dl.eff.org/certbot-auto
chmod a+x ./certbot-auto
./certbot-auto —help

2、配置 nginx 、验证域名所有权

配置下nginx.conf 添加如下,这是必须要开80端口,let’s encrypt 服务器会到这里验证,要开下面的验证通道。配置完后进行重载

location ^~ /.well-known/acme-challenge/ {
default_type “text/plain”;
root html/authserver.eglsgame.com/;
}
location = /.well-known/acme-challenge/ {
return 404;
}

3、生成证书

证书生成成功后,会有 Congratulations 的提示,并告诉我们证书放在 /etc/letsencrypt/live 这个位置。(生成过程中卡在python install,必须要自己修改下源,步骤如下要不然过不去。

mkdir -p ~/.pip/
vi ~/.pip/pip.conf
添加
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

./certbot-auto certonly --webroot -w /mnt/data/authresource/html/authserver.eglsgame.com --email [email protected] -d authserver.eglsgame.com

4、配置 Nginx

ssl_certificate /etc/letsencrypt/live/authserver.eglsgame.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/authserver.eglsgame.com/privkey.pem;

这里还需要注意,必须要/etc/letsencrypt目录权限,要不然会报权限问题。修改重载后浏览器就可以获得漂亮的绿色。

5、配置更新

测试更新
./certbot-auto renew —dry-run

手动更新
/certbot-auto renew -v
添加自动更新脚本
vi /opt/letsencrypt/renew.sh

/opt/letsencrypt/certbot-auto renew —quiet —no-self-upgrade
cd /mnt/data/authresource
./ming -s reload

添加crontab

30 2 * * 0 /opt/letsencrypt/renew.sh 每周日执行一次

6、验证服务器的https安全性

Let's Encrypt Let's go_第1张图片
image.png

7、通配符域名申请

./certbot-auto certonly  -d *.eglsgame.com --manual --preferred-challenges dns
--server https://acme-v02.api.letsencrypt.org/directory 

certonly,表示安装模式,Certbot 有安装模式和验证模式两种类型的插件。
--manual 表示手动安装插件,Certbot 有很多插件,不同的插件都可以申请证书,用户可以根据需要自行选择
-d 为那些主机申请证书,如果是通配符,输入 *.newyingyong.cn(可以替换为你自己的域名)
--preferred-challenges dns,使用 DNS 方式校验域名所有权
--server,Let's Encrypt ACME v2 版本使用的服务器不同于 v1 版本,需要显示指定。

注意验证时,需要添加TXT记录

你可能感兴趣的:(Let's Encrypt Let's go)