首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >HTTPS之acme.sh申请证书

HTTPS之acme.sh申请证书

作者头像
用户8851537
修改于 2021-09-07 10:08:26
修改于 2021-09-07 10:08:26
8K01
代码可运行
举报
运行总次数:1
代码可运行

1.关于let's encrypt和acme.sh的简介

1.1 let's encrypt

Let's Encrypt是一个于2015年三季度推出的数字证书认证机构,旨在以自动化流程消除手动创建和安装证书的复杂流程,并推广使万维网服务器的加密连接无所不在,为安全网站提供免费的SSL/TLS证书。 Let's Encrypt由互联网安全研究小组(缩写ISRG)提供服务。主要赞助商包括电子前哨基金会、Mozilla基金会、Akamai以及思科。2015年4月9日,ISRG与Linux基金会宣布合作。 用以实现新的数字证书认证机构的协议被称为自动证书管理环境(ACME)。GitHub上有这一规范的草案,且提案的一个版本已作为一个Internet草案发布。 Let's Encrypt宣称这一过程将十分简单、自动化并且免费

1.2 acme.sh

简单来说acme.sh 实现了 acme 协议, 可以从 let‘s encrypt 生成免费的证书。 acme.sh 有以下特点:

  • 一个纯粹用Shell(Unix shell)语言编写的ACME协议客户端。
  • 完整的ACME协议实施。 支持ACME v1和ACME v2 支持ACME v2通配符证书
  • 简单,功能强大且易于使用。你只需要3分钟就可以学习它。
  • Let's Encrypt免费证书客户端最简单的shell脚本。
  • 纯粹用Shell编写,不依赖于python或官方的Let's Encrypt客户端。
  • 只需一个脚本即可自动颁发,续订和安装证书。 不需要root/sudoer访问权限。
  • 支持在Docker内使用,支持IPv6

2.安装acme.sh

2.1 执行安装

https://github.com/Neilpang/acme.sh/wiki/dns-manual-mode 安装很简单, 一个命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl  https://get.acme.sh | sh

脚本会根据系统不通选择不同的下载方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@clsn.io /opt] 
#wget -O -  https://raw.githubusercontent.com/Neilpang/acme.sh/master/acme.sh | INSTALLONLINE=1  sh
--2018-11-13 15:31:42--  https://raw.githubusercontent.com/Neilpang/acme.sh/master/acme.sh
正在解析主机 raw.githubusercontent.com... 151.101.0.133, 151.101.64.133, 151.101.128.133, ...
正在连接 raw.githubusercontent.com|151.101.0.133|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:168608 (165K) [text/plain]
正在保存至:STDOUT100%[======================================================================>] 168,608     --.-K/s   in 0.07s

2018-11-13 15:31:42 (2.38 MB/s) - 已写入标准输出 [168608/168608]

[20181113日 星期二 15:31:42 CST] Installing from online archive.
[20181113日 星期二 15:31:42 CST] Downloading https://github.com/Neilpang/acme.sh/archive/master.tar.gz
[20181113日 星期二 15:31:43 CST] Extracting master.tar.gz
[20181113日 星期二 15:31:43 CST] It is recommended to install socat first.
[20181113日 星期二 15:31:43 CST] We use socat for standalone server if you use standalone mode.
[20181113日 星期二 15:31:43 CST] If you don't use standalone mode, just ignore this warning.
[20181113日 星期二 15:31:43 CST] Installing to /root/.acme.sh
[20181113日 星期二 15:31:43 CST] Installed to /root/.acme.sh/acme.sh
[20181113日 星期二 15:31:43 CST] Installing alias to '/root/.bashrc'
[20181113日 星期二 15:31:43 CST] OK, Close and reopen your terminal to start using acme.sh
[20181113日 星期二 15:31:43 CST] Installing alias to '/root/.cshrc'
[20181113日 星期二 15:31:43 CST] Installing alias to '/root/.tcshrc'
[20181113日 星期二 15:31:43 CST] Installing cron job
#未知信息,已禁用 :34 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
[20181113日 星期二 15:31:43 CST] Good, bash is found, so change the shebang to use bash as preferred.
[20181113日 星期二 15:31:44 CST] OK
[20181113日 星期二 15:31:44 CST] Install success!

2.2 安装后的配置

普通用户和 root 用户都可以安装使用。 安装过程进行了以下几步: 把 acme.sh 安装到你的 home 目录下:~/.acme.sh/并创建 一个 bash 的 alias, 方便你的使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
alias acme.sh=~/.acme.sh/acme.sh
echo 'alias acme.sh=~/.acme.sh/acme.sh' >>/etc/profile

安装过程中会自动为你创建 cronjob, 每天 0:00 点自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
00 00 * * * root /root/.acme.sh/acme.sh --cron --home /root/.acme.sh &>/var/log/acme.sh.logs

更高级的安装选项请参考: https://github.com/Neilpang/acme.sh/wiki/How-to-install 在该脚本的安装过程不会污染已有的系统任何功能和文件, 所有的修改都限制在安装目录中: ~/.acme.sh/

3.申请证书

acme.sh 实现了 acme 协议支持的所有验证协议. 一般有两种方式验证: http 和 dns 验证。

3.1 HTTP 方式

http 方式需要在你的网站根目录下放置一个文件, 来验证你的域名所有权,完成验证. 然后就可以生成证书了.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
acme.sh  --issue  -d clsn.io -d *.clsn.io  --webroot  /www/wwwroot/clsn.io/

只需要指定域名, 并指定域名所在的网站根目录. acme.sh 会全自动的生成验证文件, 并放到网站的根目录, 然后自动完成验证. 最后会聪明的删除验证文件. 整个过程没有任何副作用. 如果你用的 apache服务器, acme.sh 还可以智能的从 apache的配置中自动完成验证, 你不需要指定网站根目录:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
acme.sh --issue  -d clsn.io   --clsn.io

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
acme.sh --issue  -d clsn.io  --nginx

注意, 无论是 apache 还是 nginx 模式, acme.sh在完成验证之后, 会恢复到之前的状态, 都不会私自更改你本身的配置. 好处是你不用担心配置被搞坏。 该类型的配置有一个缺点, 你需要自己配置 ssl 的配置, 否则只能成功生成证书, 你的网站还是无法访问https. 但是为了安全, 你还是自己手动改配置吧. 如果你还没有运行任何 web 服务, 80 端口是空闲的, 那么 acme.sh 还能假装自己是一个webserver, 临时听在80 端口, 完成验证:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
acme.sh  --issue -d clsn.io   --standalone

更高级的用法请参考: https://github.com/Neilpang/acme.sh/wiki/How-to-issue-a-cert

3.2 DNS方式

这种方式的好处是, 你不需要任何服务器, 不需要任何公网 ip, 只需要 dns 的解析记录即可完成验证。 这种方式的缺点是,如果不同时配置 Automatic DNS API,使用这种方式 acme.sh 将无法自动更新证书,每次都需要手动再次重新解析验证域名所有权。

3.2.1 颁发证书
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@clsn.io /opt] 
#cd /root/.acme.sh/
[root@clsn.io /root/.acme.sh]
#acme.sh --issue -d *.clsn.io -d clsn.io --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please
[20181113日 星期二 15:34:55 CST] Creating domain key
[20181113日 星期二 15:34:55 CST] The domain key is here: /www/server/panel/vhost/cert/*.clsn.io/*.clsn.io.key
[2018年 11月 13日 星期二 15:34:55 CST] Multi domain='DNS:*.clsn.io,DNS:clsn.io'
[2018年 11月 13日 星期二 15:34:55 CST] Getting domain auth token for each domain
[2018年 11月 13日 星期二 15:34:56 CST] Getting webroot for domain='*.clsn.io'
[2018年 11月 13日 星期二 15:34:57 CST] Getting webroot for domain='clsn.io'
[2018年 11月 13日 星期二 15:34:57 CST] Add the following TXT record:
[2018年 11月 13日 星期二 15:34:57 CST] Domain: '_acme-challenge.clsn.io'
[2018年 11月 13日 星期二 15:34:57 CST] TXT value: '9rj0bhiGrO9UJ44XgV0APXuGBRL1vOk4XKdsnnxaIf4'
[2018年 11月 13日 星期二 15:34:57 CST] Please be aware that you prepend _acme-challenge. before your domain
[2018年 11月 13日 星期二 15:34:57 CST] so the resulting subdomain will be: _acme-challenge.clsn.io
[2018年 11月 13日 星期二 15:34:57 CST] Add the following TXT record:
[2018年 11月 13日 星期二 15:34:57 CST] Domain: '_acme-challenge.clsn.io'
[2018年 11月 13日 星期二 15:34:57 CST] TXT value: 'yJ4Ca9yVg1Fsp4RhH5XZJohh0eE3dFXEKM2KGUFNHio'
[2018年 11月 13日 星期二 15:34:57 CST] Please be aware that you prepend _acme-challenge. before your domain
[2018年 11月 13日 星期二 15:34:57 CST] so the resulting subdomain will be: _acme-challenge.clsn.io
[2018年 11月 13日 星期二 15:34:57 CST] Please add the TXT records to the domains, and re-run with --renew.
[2018年 11月 13日 星期二 15:34:57 CST] Please add '--debug' or '--log' to check more details.
[2018年 11月 13日 星期二 15:34:57 CST] See: https://github.com/Neilpang/acme.sh/wiki/How-to-debug-acme.sh
3.2.2 修改DNS

在NS管理方修改主机记录

3.2.3 验证解析是否生效

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$dig -t txt  _acme-challenge.clsn.io @8.8.8.8

; <<>> DiG 9.9.7-P3 <<>> -t txt _acme-challenge.clsn.io @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35785
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;_acme-challenge.clsn.io.	IN	TXT

;; ANSWER SECTION:
_acme-challenge.clsn.io. 599	IN	TXT	"yJ4Ca9yVg1Fsp4RhH5XZJohh0eE3dFXEKM2KGUFNHio"
_acme-challenge.clsn.io. 599	IN	TXT	"9rj0bhiGrO9UJ44XgV0APXuGBRL1vOk4XKdsnnxaIf4"

;; Query time: 2502 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Nov 13 15:40:55 CST 2018
;; MSG SIZE  rcvd: 164
3.2.4 生成证书

获取Let’s Encrypt免费泛域名证书。等DNS解析生效后,运行以下命令重新生成证书:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@clsn.io /root/.acme.sh]
#acme.sh --renew  -d *.clsn.io -d clsn.io --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please
[20181113日 星期二 15:39:26 CST] Renew: '*.clsn.io'
[20181113日 星期二 15:39:26 CST] Multi domain='DNS:*.clsn.io,DNS:clsn.io'
[20181113日 星期二 15:39:27 CST] Getting domain auth token for each domain
[20181113日 星期二 15:39:27 CST] Verifying:*.clsn.io
[20181113日 星期二 15:39:29 CST] Success
[20181113日 星期二 15:39:29 CST] Verifying:clsn.io
[20181113日 星期二 15:39:32 CST] Success
[20181113日 星期二 15:39:32 CST] Verify finished, start to sign.
[20181113日 星期二 15:39:33 CST] Cert success.
-----BEGIN CERTIFICATE-----
MIIFUzCCBDugAwIBAgISBFW6y9vj0CLdCtlbjd5uRZFoMA0GCSqGSIb3DQEBCwUA
MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODExMTMwNjM5MzJaFw0x
OTAyMTEwNjM5MzJaMBQxEjAQBgNVBAMMCSouY2xzbi5pbzCCASIwDQYJKoZIhvcN
AQEBBQADggEPADCCAQoCggEBANsBQz9vlST55GYdf/F9awtMqnwa2S+4nftk75NJ
s8zRLmj0LvtgZCn0fXgpNH4zAGRR3qzx7VGU80pDg539Kn8k3peoOFxRq5J3JCK2
NhvVLws7HspIsgHXngf3AyawUg+QN69K50ZDNF6/brgnOiNbmSY5fF2F9zXkNCd2
4Nsg8ptmYs3RL99ZM2CvjgLLgey3CPAuMWCse8afA4tHJ4pEZRk3dBTtWXy4q2wl
Uba8K4LuDmqOkWmQ7x3ufrq+1pQUTVQeJbKVQeDHsWQgFJVYnuHrGdd8mbz08quB
g4ruNCRnkHM1Fyxfu71IEnH1dutIeHv5OAvC3XMJUFE44kMCAwEAAaOCAmcwggJj
MA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw
DAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUP0ZkyUrkFWnJMVT/zGVVTfhJudgwHwYD
VR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwbwYIKwYBBQUHAQEEYzBhMC4G
CCsGAQUFBzABhiJodHRwOi8vb2NzcC5pbnQteDMubGV0c2VuY3J5cHQub3JnMC8G
CCsGAQUFBzAChiNodHRwOi8vY2VydC5pbnQteDMubGV0c2VuY3J5cHQub3JnLzAd
BgNVHREEFjAUggkqLmNsc24uaW+CB2Nsc24uaW8wTAYDVR0gBEUwQzAIBgZngQwB
AgEwNwYLKwYBBAGC3xMBAQEwKDAmBggrBgEFBQcCARYaaHR0cDovL2Nwcy5sZXRz
ZW5jcnlwdC5vcmcwggEEBgorBgEEAdZ5AgQCBIH1BIHyAPAAdgDiaUuuJujpQAno
hhu2O4PUPuf+dIj7pI8okwGd3fHb/gAAAWcMAtr/AAAEAwBHMEUCIDn0gs520um3
dbTpgm3J/QhbjCwVG7Ln8cmONkhiA0S/AiEAqV2/kS63iMF4TGOVQ9s206OPnyx8
1sLMm7NQfGrUNsYAdgApPFGWVMg5ZbqqUPxYB9S3b79Yeily3KTDDPTlRUf0eAAA
AWcMAtsEAAAEAwBHMEUCIQDqMPOXRxylye3P2SBDP/DIeDlsa8QFcWM0lYKCmYQW
zwIgGhTWGjpMOnw4fkoygDE3mHceg+k2vqUBPTwCfu+qRNIwDQYJKoZIhvcNAQEL
BQADggEBADZWQ8ms7VG10pSQVGg98VHnRE9VfgYq+zCpoJdjVv3OZZ+3hZGkxlQU
jbpQDPdx2x2KWrhPIlSylZpw1KHFjXq5pwZpkcVjkTO5tkB4+XRsUl0dENj5HGMN
pwNRPNsiWMnvxiQgKnCpIPPVTOGsajJ5ByQA4+Vni3VNvEEAOurN024e0rfzxhYV
oXBnb7tK01+HIzoOBsOl9FRbIzkmuogjCrbjU8dBudAKPNAPmFS6bwFnYeFWO2G7
DhyNrlDFJodx8JjZ9qnzD53gCfutYzsftN3jwBBiGxRpLyWXXAQLqBN5QrkTwL+h
PFn9Tul9nibZXRIQsyutHx7jFMtAyOY=
-----END CERTIFICATE-----
[20181113日 星期二 15:39:33 CST] Your cert is in  clsn.io/clsn.io.cer
[20181113日 星期二 15:39:33 CST] Your cert key is in  /www/server/panel/vhost/cert/clsn.io/clsn.io.key
[20181113日 星期二 15:39:33 CST] The intermediate CA cert is in  /www/server/panel/vhost/cert/clsn.io/ca.cer
[20181113日 星期二 15:39:33 CST] And the full chain certs is there:  /www/server/panel/vhost/cert/clsn.io/fullchain.cer
[20181113日 星期二 15:39:33 CST] It seems that you are using dns manual mode. please take care: The dns manual mode can not renew automatically, you must issue it again manually. You'd better use the other modes instead.
[20181113日 星期二 15:39:33 CST] Call hook error.

注意第二次这里用的是 --renew

3.2.5 dns 方式API

dns 方式的真正强大之处在于可以使用域名解析商提供的 api 自动添加 txt 记录完成验证. acme.sh 目前支持 cloudflare, dnspod, cloudxns, godaddy 以及 ovh 等数十种解析商的自动集成. 以 dnspod 为例, 你需要先登录到 dnspod 账号, 生成你的 api id 和 api key, 都是免费的. 然后:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export DP_Id="76GJHG4SG1Q"
export DP_Key="qaEDHSJiokjhfs"
acme.sh   --issue   --dns dns_dp   -d clsn.io  -d www.clsn.io

证书就会自动生成了. 这里给出的 api id 和 api key 会被自动记录下来, 将来你在使用 dnspod api 的时候, 就不需要再次指定了. 直接生成就好了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
acme.sh  --issue   -d  clsn.io   --dns  dns_dp

更详细的 api 用法: https://github.com/Neilpang/acme.sh/blob/master/dnsapi/README.md

4.证书的使用

4.1 安装证书

前面证书生成以后, 接下来需要把证书 copy 到真正需要用它的地方。

注意, 默认生成的证书都放在安装目录下: ~/.acme.sh/, 请不要直接使用此目录下的文件, 例如: 不要直接让 nginx/apache 的配置文件使用这下面的文件. 这里面的文件都是内部使用, 而且目录结构可能会变化.正确的使用方法是使用 --installcert 命令,并指定目标位置, 然后证书文件会被copy到相应的位置, 例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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"

4.2 Nginx/Tengine服务器安装SSL证书

以Nginx标准配置为例,生成的证书文件推荐使用 fullchain.cer,私钥文件为是clsn.io.key。

Nginx 的配置 ssl_certificate 使用 fullchain.cer ,而非 .cer ,否则 SSL Labs 的测试会报 Chain issues Incomplete 错误。 (1)通过上述中生成的证书路径为/www/server/panel/vhost/cert/clsn.io/; 修改配置文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    server {
        listen 443;
        server_name localhost;
        ssl on;
        root html;
        index index.html index.htm;
        ssl_certificate   /www/server/panel/vhost/cert/clsn.io/fullchain.cer;
        ssl_certificate_key  /www/server/panel/vhost/cert/clsn.io/clsn.key;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        location / {
            root html;
            index index.html index.htm;
        }
    }

(2)重启nginx

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/etc/init.d/nginx  force-reload

__注意:__这里用的是 service nginx force-reload, 不是 service nginx reload, 据测试, reload 并不会重新加载证书, 所以用的 force-reload

5.更新

5.1 证书的更新

目前证书在 60 天以后会通过定时任务自动更新, 你无需任何操作。 今后有可能会缩短这个时间, 不过都是自动的, 你不用关心.

5.2 acme.sh 更新

目前由于 acme 协议和 letsencrypt CA 都在频繁的更新, 因此 acme.sh 也经常更新以保持同步. 升级 acme.sh 到最新版 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
acme.sh --upgrade

如果你不想手动升级, 可以开启自动升级:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
acme.sh  --upgrade  --auto-upgrade

之后, acme.sh 就会自动保持更新了. 你也可以随时关闭自动更新:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
acme.sh --upgrade  --auto-upgrade  0

6.参考文献

https://letsencrypt.org/ https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用 acme.sh 申请 SSL 证书
在申请 ssl 时,大部分平台都会存在或多或少的限制,比如国内平台的 亚洲诚信 ,该平台可以一次性申请双域名有效期为一年的证书,或者短期的通配符证书
阿龙w
2023/10/23
2K0
用acme.sh自动部署域名证书
目前使用量最大的免费SSL证书就是Let’s Encrypt,自2018-03开始,Let’s Encrypt官方发布上线了免费的SSL泛域名证书,目前通过DNS方式获取比较快,国内可以通过鹅云的DNSPod域名API或者猫云域名API自动签发Let’s Encrypt泛域名证书。因为鹅云使用的就是DNSPod域名,并且鹅云和DNSPod的账号是打通的,可以使用wx直接扫码登录。下文需要对鹅云和DNSPod进行操作,为了简化证书申请过程,需要提前安装acme.sh。acme.sh实现了acme协议,可以从Let’s Encrypt生成免费的证书,自动创建cron任务, 每天零点自动检测所有的证书,如果发现证书快过期了,需要更新,则acme.sh会自动更新证书,安装过程不会污染已有的系统任何功能和文件,所有的修改都限制在安装目录中。
摘繁华
2022/12/05
3.4K0
用acme.sh自动部署域名证书
使用 acme.sh 生成免费的 https 证书
如上,是最简单的安装方法,但可能不会成功(因为这个域名访问不了raw.githubusercontent.com),最稳妥的方法是下面这种
崔哥
2022/05/25
9170
使用 acme.sh 生成免费的 https 证书
使用 acme.sh 自动更新 ssl 证书
今天发现 SSL 证书过期了,本来打算人工来 ZeroSSL 人工申请下更新下证书就算了,但是发现这次还是要验证 DNS,然后发现每次设置后使用 dnslookup 都可以看到效果了,点击 NEXT 还有会说不匹配,因为每次提交都要等好几分钟,几次不成我就不想再试了。打算再再次尝试下使用 Let’s Encrypt 的 SSL 自动更新的客户端(acme.sh),发现 在 shell 下 tab 键 都不会自动提示了,发现硬盘爆了,被 jenkins 的日志塞满了。记录下今天遇到几个问题的解决办法:
前Thoughtworks-杨焱
2021/12/07
2.8K0
使用 acme.sh 自动更新 ssl 证书
最新版泛域名证书申请
泛域名证书又名通配符证书是SSL证书中的其中一种形式,一般会以通配符的形式(如:*.domain.com)来指定证书所要保护的域名。
小陈运维
2022/07/27
5.4K0
acme.sh配置泛域名证书Let'sEncrypt
作者:matrix 被围观: 3,071 次 发布时间:2019-09-18 分类:Linux | 无评论 »
HHTjim 部落格
2022/09/26
2.3K0
acme.sh配置泛域名证书Let'sEncrypt
正确使用 acme.sh, 让你的网站永久使用 ssl 证书,It's free!
acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书.
用户1418987
2023/12/06
12.3K1
正确使用 acme.sh, 让你的网站永久使用 ssl 证书,It's free!
腾讯云DNSPod域名API申请Let’s Encrypt泛域名免费SSL证书教程
Let’s Encrypt是目前使用最为广泛的免费SSL证书,蜗牛789使用的就是此款免费SSL证书,早在2017年7月份起Let’s Encrypt官方就发布将在2018年上线泛域名免费SSL证书。现在终于可以申请Let’s Encrypt的泛域名免费SSL证书。暂时只能通过DNS方式获取,支持的DNS解析有很多,国内可以通过腾讯云的DNSPod.cn域名API和阿里云域名API自动颁发Let’s Encrypt泛域名免费SSL证书。
墨渊
2018/05/11
20.1K6
TLS 以及自动更新证书: Let's encrypt + acme.sh
Mr. Hsu edited this page on 18 Jun · 24 revisions
OwenZhang
2021/12/08
1.8K0
Let's Encrypt 泛域名证书申请
泛域名证书又名通配符证书是SSL证书中的其中一种形式,一般会以通配符的形式(如:*.domain.com)来指定证书所要保护的域名。
小陈运维
2022/04/15
16.2K0
SSL证书自动化-acme实战(Let’s Encrypt)
由于 HTTP 是明文传输,在使用 NextCloud 等服务时不够安全,需要配置 SSL 证书。不想让在被别人浏览的时候,出现莫名的广告[运营商劫持]。
用户10002156
2023/12/13
2.4K0
SSL证书自动化-acme实战(Let’s Encrypt)
使用 acme.sh 自动申请并更新泛域名证书
在互联网快速发展的今天,网站安全愈发重要,而 SSL/TLS 证书成为了保护网站数据的基础。对于管理多个子域的用户来说,泛域名证书(Wildcard Certificate)是一种高效便捷的选择。
沈唁
2024/11/03
1.2K0
使用 acme.sh 自动申请并更新泛域名证书
【开发日记】利用acme.sh获取免费泛域名SSL证书
acme.sh是一个利用ZeroSSL 和 Let's Encrypt等受信任证书颁发机构(CA)自动化提供免费 SSL/TLS 证书的工具,可以用来部署 HTTPS,比certbot还要好用。
全栈开发日记
2025/06/28
1830
【开发日记】利用acme.sh获取免费泛域名SSL证书
原 签发HTTPS证书 (acme.sh)
原来写过一篇文章《记录两个免费HTTPS服务商》里面记录了三个免费的证书提供商。 其中沃通的证书好像已经不能用了,不过最近的一年中:阿里云,腾讯云,百度云等都接入了国外的某家证书提供商,以提供免费的证书服务。 通过国内的云服务商提供的证书服务,大都有一年到两年的服务期限,这类操作大多为中文界面,切流程简单,就不做过多说明,本篇文章主要对:开源的letsencrypt证书申请作简要的记录。 letsencrypt 是一个开源的免费证书服务,由国际很多知名厂商共同提倡组建的一个组织,其主页上提供了这些厂商
霡霂
2018/06/04
2.6K0
基于 acme.sh脚本 DNS别名功能 分批申请证书
3.上面命令中--key-name="Ali_Key" --secret-name="Ali_Secret" 是DNS厂商api名称,具体api支持见How to use DNS API。
YP小站
2020/06/04
1.6K0
通过acme.sh开源工具申请泛解析SSL证书
2.Linux云服务器(本文系统某讯云的Centos7),测试公网IP为:150.158.130.33
星哥玩云
2022/06/28
5000
通过acme.sh开源工具申请泛解析SSL证书
使用Acme工具配置Let's Encrypt通配符HTTPS证书
老高的域名使用很久了,同时也产生了大量的二级域名,Let's Encrypt虽然每三个月续签的时候不需要加域名参数,但是如果要多加一个或者删除又需要敲一大堆命令,今年(2018)Let's Encrypt强势支持了通配符证书,支持验证的方式是dns,所以需要自己去DNS解析处申请一个API,虽然多了DNS的操作,但是带来的好处真是太多,下面赶紧跟着老高学一下如果使用Acme工具配置Let's Encrypt通配符HTTPS证书吧!
老高的技术博客
2022/12/28
1.3K0
使用Acme工具配置Let's Encrypt通配符HTTPS证书
acme.sh 自动续签 SSL 证书
证书生成完成之后 acme.sh 会自动保存 API_ID 和 APK KEY,保存到 ~/.acme.sh/account.conf,下次再使用时,不需要再指定AccessKey了。
陳斯托洛夫斯記
2024/08/07
5090
使用acme.sh生成免费的SSL证书
acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书.
码客说
2021/03/02
5.1K0
使用acme.sh申请Let's Encrypt免费的SSL证书
acme.sh 实现了 acme 协议,可以从letsencrypt生成免费的证书。接下来将为大家介绍怎样申请Let's Encrypt通配符证书。
青阳
2021/09/15
6.1K4
相关推荐
使用 acme.sh 申请 SSL 证书
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档