2022
我们一起努力

泛域名证书支持多级域名,在线生成域名证书

一、Let’s Encrypt 简介

Let’s Encrypt 是一家免费、开放、自动化的证书颁发机构(CA),为公众的利益而运行。它是一项由 Internet Security Research Group(ISRG)提供的服务。并且以尽可能对用户友好的方式免费提供为网站启用 HTTPS(SSL/TLS)所需的数字证书。

目前 Let's Encrypt 免费SSL证书默认是90天有效期,到期后可以再续约,这样也就可以变相长期使用。

Let's Encrypt 生成证书的工具很多,certbot 是官方推荐的签发工具,也可以通过在线服务申请,例如

  • FreeSSL(不支持自动续签)
  • 七牛(不支持 DV 泛域名)
  • 又拍云(不支持 DV 泛域名)

这里推荐 acme.sh,它不仅有详细的中文文档,操作更为方便,还支持 Docker。

二、使用 acme.sh 方式,获取证书

1、获取acme.sh

curl https://get.acme.sh | sh

安装完成后,需要重新加载下设置,执行如下命令

source ~/.bashrc

否则会报 acme.sh 找不到。

2、获取证书

我的域名是在阿里注册的,下面给出阿里云解析的例子

先前往阿里云后台获取App_Key跟App_Secret ,然后执行以下脚本

export Ali_Key="123"
export Ali_Secret="aaa"
acme.sh --issue --dns dns_ali -d smallyoung.cn -d *.smallyoung.cn

注意这里第一个域名为顶级域名,后面个为泛域名。

这里通过线程休眠,然后验证DNS是否生效的方式,会等待几分钟。

生成的证书在~/acme.sh/domain/ 目录下

3、导出证书

使用 –install-cert 命令

泛域名证书支持多级域名,在线生成域名证书
  • -d:域名
  • –key-file:私钥位置
  • –fullchain-file:证书位置
  • –reloadcmd:重载命令
#创建证书存放的目录
mkdir -p /usr/local/webserver/nginx/ssl_cert/smallyoung.cn

# 前面证书生成以后,,需要把证书 copy 到真正需要用它的地方。
acme.sh --install-cert -d smallyoung.cn -d *.smallyoung.cn  --key-file /usr/local/webserver/nginx/ssl_cert/smallyoung.cn/smallyoung.cn.key  --fullchain-file /usr/local/webserver/nginx/ssl_cert/smallyoung.cn/smallyoung.cn.cer --reloadcmd  "/usr/local/webserver/nginx/sbin/nginx -s reload"

注意,最后的命令要确保能重新加载Nginx。

4、Nginx 配置

 server {
        listen 80;

        server_name  smallyoung.cn *.smallyoung.cn;        

        rewrite ^(.*)$  https://$host$1 permanent;
    }

    server {

        listen 443 http2 ssl;

        server_name  smallyoung.cn *.smallyoung.cn;
        
        ssl_certificate /usr/local/webserver/nginx/ssl_cert/smallyoung.cn/smallyoung.cn.cer;

        ssl_certificate_key /usr/local/webserver/nginx/ssl_cert/smallyoung.cn/smallyoung.cn.key;

        #ssl性能调优
        #nginx 1.13.0支持了TLSv1.3,TLSv1.3相比之前的TLSv1.2、TLSv1.1等性能大幅提升
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        
        ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
        
        ssl_prefer_server_ciphers on;
        
        ssl_session_timeout 10m;
        #使用ssl_session_cache优化https下Nginx的性能
        ssl_session_cache builtin:1000 shared:SSL:10m;
        #OCSP Stapling 开启。OCSP是用于在线查询证书吊销情况的服务,使用OCSP Stapling能将证书有效状态的信息缓存到服务器,提高 TLS 握手速度
        ssl_stapling on;
        #OCSP Stapling 验证开启
        ssl_stapling_verify on;

        location / {
           root /usr/local/webserver/nginx/html;#站点目录
           index index.html index.htm index.php;
        }
    }

然后重启Nginx

/usr/local/webserver/nginx/sbin/nginx -s reload

5、相关命令

# 查看帮助
acme.sh -h

# 查看列表
acme.sh --list

# 卸载 acme.sh
acme.sh --uninstall

# 强制续签证书
acme.sh --renew -d smallyoung.cn --force

# 删除证书
acme.sh remove smallyoung.cn

6、脚本更新

自动更新:acme.sh --upgrade --auto-upgrade
手动更新:acme.sh --upgrade
关闭更新:acme.sh --upgrade --auto-upgrade 0
赞(0)
文章名称:《泛域名证书支持多级域名,在线生成域名证书》
文章链接:https://www.fzvps.com/52304.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!