Abstract
acme.sh
实现ECC
和RSA
双证书,前置DNS
验证配置请移步至此,使用一个托管在DNS Pod
国服上的域名colorfulstage.cn
。
export DOMAIN=colorfulstage.cn
可以先行创建存放证书的目录:
mkdir -p /home/crts/$DOMAIN
基础-单证书
若不指定--key-length 2048
或--key-length ec-256
,则默认是ECC
证书。
# 申请证书
acme.sh --issue -d ${DOMAIN} -d *.${DOMAIN} --dns dns_dp --dnssleep 30 --days 85 --force
# 安装证书
acme.sh --install-cert -d ${DOMAIN} \
--cert-file "/home/crts/$DOMAIN/cert.pem" \
--key-file "/home/crts/$DOMAIN/key.pem" \
--fullchain-file "/home/crts/$DOMAIN/fullchain.pem" \
--ecc \
--reloadcmd "systemctl restart nginx"
进阶-ECC和RSA双证书
RSA证书
# 申请证书
acme.sh --issue -d ${DOMAIN} -d *.${DOMAIN} --dns dns_dp --dnssleep 30 \
--ocsp --days 85 --keylength 2048 --force
# 安装证书
acme.sh --install-cert -d ${DOMAIN} \
--cert-file "/home/crts/$DOMAIN/cert.rsa.pem" \
--key-file "/home/crts/$DOMAIN/key.rsa.pem" \
--fullchain-file "/home/crts/$DOMAIN/fullchain.rsa.pem" \
--reloadcmd "systemctl restart nginx"
ECC证书
# 申请证书
acme.sh --issue -d ${DOMAIN} -d *.${DOMAIN} --dns dns_dp --dnssleep 30 \
--ocsp --days 85 --keylength ec-256 --force
# 安装证书
acme.sh --install-cert -d ${DOMAIN} \
--cert-file "/home/crts/$DOMAIN/cert.pem" \
--key-file "/home/crts/$DOMAIN/key.pem" \
--fullchain-file "/home/crts/$DOMAIN/fullchain.pem" \
--ecc \
--reloadcmd "systemctl restart nginx"
Nginx部署ECC+RSA双证书
如果$DOMAIN=example.com
,那么Nginx配置文件示例如下:
server {
listen 443 ssl;
server_name example.com;
# RSA证书配置
ssl_certificate /home/crts/example.com/fullchain.rsa.pem;
ssl_certificate_key /home/crts/example.com/key.rsa.pem;
# ECC证书配置
ssl_certificate /home/crts/example.com/fullchain.pem;
ssl_certificate_key /home/crts/example.com/key.pem;
# SSL配置优化
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ecdh_curve secp384r1; # 指定ECDH使用的曲线,适用于ECC
}
Comments NOTHING