1987WEB视界-分享互联网热点话题和事件

您现在的位置是:首页 > 域名 > 正文

域名

教你申请使用免费的泛域名证书

1987web2023-05-24域名129
一、Let’sEncrypt简介Let’sEncrypt是一家免费、开放、自动化的证书颁发机构(CA),为公众的利益而运行。它是一项由InternetSec

一、Let’s Encrypt 简介

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

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

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

  • FreeSSL(不支持自动续签)

  • 七牛(不支持 DV 泛域名)

  • 又拍云(不支持 DV 泛域名)

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

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

    1、获取acme.sh

    curlhttps://get.acme.sh | sh

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

    source~/.bashrc

    否则会报 acme.sh 找不到。

    2、获取证书

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

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

    exportAli_Key="123"exportAli_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{listen80;server_namesmallyoung.cn*.smallyoung.cn;rewrite^(.*)$https://$host$1permanent;
        }server{listen443http2 ssl;server_namesmallyoung.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_protocolsTLSv1 TLSv1.1TLSv1.2;ssl_ciphersEECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;ssl_prefer_server_cipherson;ssl_session_timeout10m;使用ssl_session_cache优化https下Nginx的性能ssl_session_cachebuiltin:1000shared:SSL:10m;OCSP Stapling 开启。OCSP是用于在线查询证书吊销情况的服务,使用OCSP Stapling能将证书有效状态的信息缓存到服务器,提高 TLS 握手速度ssl_staplingon;OCSP Stapling 验证开启ssl_stapling_verifyon;location/ {root/usr/local/webserver/nginx/html;站点目录indexindex.html index.htm index.php;
            }
        }

    然后重启Nginx

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

    5、相关命令

    查看帮助acme.sh-h查看列表acme.sh--list卸载acme.shacme.sh--uninstall强制续签证书acme.sh--renew-dsmallyoung.cn--force删除证书acme.shremovesmallyoung.cn

    6、脚本更新

    自动更新:acme.sh--upgrade--auto-upgrade手动更新:acme.sh--upgrade关闭更新:acme.sh--upgrade--auto-upgrade0