Acme.sh
acme.sh 是一个开源的 Let's Encrypt 客户端,您可以使用它自动化生成和续订 SSL 证书。
Requements
- Acme.sh installed
- acme.sh aliyun dns plugin
- aliyun account
- domain
到 aliyun 生成 aliyun RAM API key,然后设置环境变量 Ali_Key
, Ali_Secret
, 如:
export Ali_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"
export Ali_Secret="jlsdflanljkljlfdsaklkjflsa"
生成过程
利用 Acme dns
在 ubuntu 服务器上利用 acme dns_ali
插件,生成证书
acme.sh --issue --dns dns_ali -d az02.example.com --force
输出
[2023年 02月 08日 星期三 08:23:04 CST] Using CA: https://acme.zerossl...
[2023年 02月 08日 星期三 08:23:04 CST] Creating domain key
...
[2023年 02月 08日 星期三 08:24:19 CST] Cert success.
-----BEGIN CERTIFICATE-----
MIIGbTCCBFWgAwIBAgIQT/7Ts5fe+7OLtwnBs+RDlzANBgkqhkiG9w0BAQwFADBL
MQswCQYDVQQGEwJBVDEQMA4GA1UEChMHWmVyb1NTTDEqMCgGA1UEAxMhWmVyb1NT
TCBSU0EgRG9tYWluIFNlY3VyZSBTaXRlIENBMB4XDTIzMDIwODAwMDAwMFoXDTIz
MDUwOTIzNTk1OVowGzEZMBcGA1UEAxMQYXowMi5wLnVxdWd1LmNvbTCCASIwDQYJ
合成 squid.pem
cd /home/xxx/.acme.sh/az02.example.com
cat az02.example.com.key fullchain.cer > az02.example.com.pem
上面的 xxx 为系统用户名,az02.example.com 则为生成的证书对于的域名。
合成好 squid.pem 之后,再将本地服务器的 squid.pem 上传至 squid 服务所在的服务器。
scp az02.example.pem az02.example.pem:/home/xxx/
在 squid 服务器上将 squid.pem 搬入对应的证书目录。
sudo mv squid.pem /etc/letsencrypt/
完成
至此,squid https 证书 squid.pem 已经制作完成并且放置到了 /etc/letsencrypt/
目录下面。
生成的 squid.pem 适用于 Squid Cache: Version 4.13。
参考: