返回

人人适用一键式自动配置免费泛域名证书续期法

后端

自动化配置免费泛域名证书:让冲浪更流畅

什么是SSL证书?

SSL(安全套接层)证书是一种数字证书,用于在网络服务器和浏览器之间建立加密连接,保护数据免遭窃取。当网站使用SSL证书时,浏览器地址栏中会出现一个绿色的挂锁图标,表明连接安全。

泛域名证书的优势

泛域名证书允许你为一个域名及其所有子域名保护SSL连接,例如 example.com 和 *.example.com。这对于具有多个子域名的网站非常有用,可以节省时间和精力,同时还能确保所有域名的安全性。

acme.sh:一键式自动化解决方案

acme.sh是一个免费且开源的命令行工具,可用于自动配置Let's Encrypt免费SSL证书,包括泛域名证书。只需一条命令,acme.sh即可处理所有步骤,包括请求证书、DNS验证和自动续期。

配置acme.sh:逐步指南

1. 安装acme.sh

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

2. 获取AliDNS API信息

如果你使用阿里云DNS,你需要获取API密钥和密钥。

ali_api_key=$(aliyun alicloud oss get-bucket -b my-bucket | grep AccessKeyId | awk '{print $3}')
ali_api_secret=$(aliyun alicloud oss get-bucket -b my-bucket | grep AccessKeySecret | awk '{print $3}')

3. 配置acme.sh

acme.sh --register-account --accept-tos --email my@example.com
acme.sh --issue --dns dns_ali --dns-ali-access-key "$ali_api_key" --dns-ali-secret "$ali_api_secret" -d example.com -d *.example.com

4. 配置Nginx

创建一个新的Nginx虚拟主机配置,将SSL证书指向acme.sh生成的证书文件。

server {
    listen 443 ssl http2;
    server_name example.com *.example.com;
    root /var/www/html;
    index index.html;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_dhparam /etc/letsencrypt/live/example.com/dhparam.pem;
}

5. 重启Nginx

service nginx restart

结论

通过使用acme.sh,你可以轻松地为你的网站配置免费泛域名SSL证书。这种自动化解决方案节省了时间和精力,使你能够专心于其他重要的任务。

常见问题解答

1. acme.sh是否适用于所有域名服务商?

acme.sh仅支持DNS-01验证,这意味着你的域名服务商必须支持此验证方法。

2. acme.sh是否支持通配符证书?

是的,acme.sh可以为通配符域名(例如 *.example.com)颁发证书。

3. acme.sh是否会自动续期证书?

是的,acme.sh会在证书到期前自动续期,让你安心无忧。

4. 我是否需要为acme.sh支付任何费用?

acme.sh是完全免费且开源的。

5. 我可以在哪些平台上使用acme.sh?

acme.sh适用于Linux、macOS和Windows等各种平台。