skip to content
Logo 三七の小站

ssl 证书申请

/ 2 min read

SSL证书申请指南,详细步骤从安装工具到证书获取,涵盖80端口和DNS验证方法

1. 安装socat:

apt install socat

2. 安装acme:

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

国内:

git clone https://gitee.com/neilpang/acme.sh.git
cd acme.sh
./acme.sh --install -m my@example.com

3. 添加软链接:

ln -s /root/.acme.sh/acme.sh /usr/local/bin/acme.sh

4. 注册账号:

acme.sh --register-account -m my@example.com

5.1 通过nginx申请证书

适用于nginx占用80端口

acme.sh --issue --nginx -d 替换为你的域名

5.2 通过80端口申请证书:

ufw allow 80
acme.sh --issue -d 替换为你的域名 --standalone

5.3 如果默认CA无法颁发,则可以切换下列CA:

#切换 Let’s Encrypt:
acme.sh --set-default-ca --server letsencrypt
#切换 Buypass:
acme.sh --set-default-ca --server buypass
#切换 ZeroSSL:
acme.sh --set-default-ca --server zerossl

5.4 通过DNS申请证书

acme.sh --issue -d 替换为你的域名 --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please

根据提示, 到DNS平台添加一条TXT解析 稍等片刻后,更新

acme.sh --renew -d 替换为你的域名 --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please

5.5 通过DNS-api申请证书

通过api,自动添加dns txt,验证后自动删除

  1. 到域名解析平台创建token
  2. 添加环境变量
export CF_Token="Y_jpG9AnfQmuX********ab6SQwme3HWXNDzRWs" # Cloudflare API Token
export CF_Account_ID="763eac4f1********95e9fc50d010b4" # Cloudflare Account ID
acme.sh --issue --dns dns_cf -d 替换为你的域名
acme.sh --issue --dns dns_cf -d *.example.com

6 安装证书

acme.sh --install-cert -d sanqiz.de \
--key-file /root/cert/sanqiz.de.key \
--fullchain-file /root/cert/sanqiz.de.pem \

目前证书无需任何操作会在 60 天以后自动更新,若想要停止某域名证书的自动更新使用 acme.sh --remove -d 替换为你的域名 命令,或者在安装目录中删除对应域名目录即可。