一种利用 acme.sh 生成 squid https 证书的方法

Acme.sh

acme.sh 是一个开源的 Let's Encrypt 客户端,您可以使用它自动化生成和续订 SSL 证书。

Requements

  1. Acme.sh installed
  2. acme.sh aliyun dns plugin
  3. aliyun account
  4. 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.com.pem az02.example.com:/home/xxx/squid.pem

在 squid 服务器上将 squid.pem 搬入对应的证书目录。

sudo mv ~/squid.pem /etc/letsencrypt/

完成

至此,squid https 证书 squid.pem 已经制作完成并且放置到了 /etc/letsencrypt/ 目录下面。

生成的 squid.pem 适用于 Squid Cache: Version 4.13。

参考:

关于本文如您有任何想法和意见,欢迎与我们联系,邮箱地址zhi@uqugu.com。
您对本文有什么看法,喜欢或者不喜欢都可以发表意见。