ACME v2证书自动化快速入门
步骤
注册账号: 前往 freessl.cn 注册账号
在freessl的ACME自动化>ACME 域名管理 > 添加, 并取得专属 ACME 地址
安装 acme.sh
部署 acme.sh
详细教程
使用浏览器访问 freessl.cn 官网长这样 ↓
点击右上角的注册 ( 已有账号请自行跳过 )
注册后收到激活邮件,进入邮箱点击激活链接即可激活账号
应监管局要求,需要对用户进行手机实名认证。
完成认证后登录账号会进入后台,我们不需要
直接返回主页 点击顶部的ACME自动化 页面如下图
点击添加 记录类型建议用CNAME 输入你要申请证书的域名 泛域名则写*.xxx.com
下一步 , 然后登录你的域名服务商添加CNAME解析
怎么添加解析不要问我..要么自己百度..要么CTRL+W
添加好了点击配置完成, 立即检测
看到下图的部署命令就可以啦
复制acme.sh 部署命令 下面要用
安装acme.sh
执行安装命令
git clone https://gitee.com/neilpang/acme.sh.git cd acme.sh ./acme.sh --install -m my@example.com
正常输出结果最下面行是OK
我个人是把证书放到宝塔面板的SSL证书路径
如果你现在访问宝塔面板是https的话可以照抄
如果你是http访问建议开启宝塔面板的ssl
或者根据你自己的喜好决定
acme.sh --issue -d *.xxx.com --dns dns_dp --server https://acme.freessl.cn/v2/DV90/directory/**************** \ --key-file "/www/server/panel/ssl/privateKey.pem" \ --fullchain-file "/www/server/panel/ssl/certificate.pem" \ --reloadcmd "service nginx reload && bt 1"
上面的命令自己替换相关参数
第一行后面的URL是你自己的专属ACME地址 别把后面的 \ 弄没了
第二行是key的复制路径
第三行是cer的复制路径
第四行是复制证书后执行的命令, 上面的命令适用于宝塔,意思是重载Nginx配置和重启宝塔面板
执行上面的命令后会自动申请SSL证书,并在/root/.acme.sh/你的域名下面储存
如果执行失败可以执行下下面的命令再试
source ~/.bashrc
怎么把证书部署到站点
如上图, 分2段, 上面的是强制HTTPS 作用是HTTP访问是跳转到HTTPS
下面的是SSL证书配置, 如果上面复制证书的路径不一样 这里也一起改
#HTTP_TO_HTTPS_START
if ($server_port !~ 443){
rewrite ^(/.*)$ https://$host$1 permanent;
}
#HTTP_TO_HTTPS_END
#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
ssl_certificate /www/server/panel/ssl/certificate.pem;
ssl_certificate_key /www/server/panel/ssl/privateKey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=31536000";
#SSL-END保存后关闭浏览器 重新打开页面 浏览器显示绿标就OK了
注意: 每个人的环境都不一样. 遇到错误请自行百度解决, 教程针对于宝塔面板+Nginx,如果你是Apache
则需要改下命令
acme.sh --issue -d *.xxx.com --dns dns_dp --server https://acme.freessl.cn/v2/DV90/directory/**************** \ --key-file "/www/server/panel/ssl/privateKey.pem" \ --fullchain-file "/www/server/panel/ssl/certificate.pem" \ --reloadcmd "service apache2 force-reload && bt 1"

