SSL证书申请指南,详细步骤从安装工具到证书获取,涵盖80端口和DNS验证方法
1. 安装socat:
apt install socat
2. 安装acme:
curl https://get.acme.sh | sh
国内:
git clone https://gitee.com/neilpang/acme.sh.gitcd 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,验证后自动删除
- 到域名解析平台创建token
- 添加环境变量
export CF_Token="Y_jpG9AnfQmuX********ab6SQwme3HWXNDzRWs" # Cloudflare API Tokenexport 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 替换为你的域名
命令,或者在安装目录中删除对应域名目录即可。