SSL证书的申请和自动续期

SSL证书的申请和自动续期

Let’s Encrypt 证书续期

参考

https://www.jianshu.com/p/a2d0209fa3f5

快速签发 Let’s Encrypt 证书指南

https://certbot.eff.org/

acme.sh 申请

用 acme.sh申请来自动续期ssl证书
acme说明:https://github.com/Neilpang/acme.sh/wiki/说明

通过在网站根目录存放文件来验证域名

  1. 下载acmecurl https://get.acme.sh | sh 安装完成后必须关闭当前终端,重新开启一个以使acme.sh命令生效

  2. 执行生成和自动更新命令:acme.sh --issue -d mydomain.com -d www.mydomain.com --webroot /var/www/mydomain.com/

    通过在网站根目录存放文件来验证域名

    1
    2
    3
    4
    acme.sh --issue -d mydomain.com -d www.mydomain.com --webroot /home/wwwroot/mydomain.com/

    # 如果你用的 nginx服务器, 或者反代, acme.sh 还可以智能的从 nginx的配置中自动完成验证, 你不需要指定网站根目录:
    acme.sh --issue -d mydomain.com --nginx

    通过DNS解析添加TXT解析记录验证

    1
    2
    3
    4
    5
    6
    7
    8
    9
    acme.sh --issue --dns -d mydomain.com \
    --yes-I-know-dns-manual-mode-enough-go-ahead-please

    # 然后, acme.sh 会生成相应的解析记录显示出来, 你只需要在你的域名管理面板中添加这条 txt 记录即可.等待解析完成之后, 重新生成证书:

    acme.sh --renew -d mydomain.com \
    --yes-I-know-dns-manual-mode-enough-go-ahead-please

    # 注意第二次这里用的是 --renew
  3. 安装证书 cd /etc/nginx; mkdir ssl

1
2
3
4
acme.sh  --installcert  -d  <domain>.com   \
--key-file /etc/nginx/ssl/<domain>.key \
--fullchain-file /etc/nginx/ssl/fullchain.cer \
--reloadcmd "service nginx force-reload"
  1. 配置nginx使用ssl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
server {
listen 80 default_server;
listen 443 http2 ssl;
listen [::]:80 default_server;

ssl_certificate /etc/nginx/ssl/fullchain.cer;
ssl_certificate_key /etc/nginx/ssl/domain.key;
#http转https
if ($scheme = http ) {return 301 https://$host$request_uri;}
root /var/www/html;

index index.html index.htm index.nginx-debian.html;
server_name _;

ssl_certificate /etc/nginx/ssl/fullchain.cer;
ssl_certificate_key /etc/nginx/ssl/domain.key;

location /test {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}

前端的Upgrade请求发送给后端服务器,Upgrade和Connection的头信息必须被显式的设置。一旦我们完成以上设置,NGINX就可以处理WebSocket连接了。查看配置在哪里ps -ef|grep nginx
多个域名的话,配多个nginx.conf配置。

  1. 查看是否有每日任务
    crontab -l #查看你的任务
    手动更新证书acme.sh --renew -d domain.com

certbot

文档

Ubuntu + nginx https://certbot.eff.org/instructions?ws=nginx&os=ubuntufocal

用certbot来自动续期ssl证书

  • 需要注意的是安装证书的时候最好把nginx关掉先

SSL证书的申请和自动续期
https://www.oikiou.top/2022/82aca4fc/
作者
Oikiou
发布于
2022年7月21日
许可协议