创建网站的详细步骤,国际电商平台排行榜前十名,ps做网站字体大小,老榕树建站软件安装acme.sh
安装 acme.sh 并设置邮箱用来接受重要通知#xff0c;如证书快过期未更新通知
curl https://get.acme.sh | sh -s emailmyexample.com执行命令后几秒就安装好了#xff0c;如果半天没有反应请 CtrlC 后重新执行命令。acme.sh 安装在 ~/.acme.sh 目录下#xf…安装acme.sh
安装 acme.sh 并设置邮箱用来接受重要通知如证书快过期未更新通知
curl https://get.acme.sh | sh -s emailmyexample.com执行命令后几秒就安装好了如果半天没有反应请 CtrlC 后重新执行命令。acme.sh 安装在 ~/.acme.sh 目录下并自动创建了一个 cronjob每天 0:00 点自动检测所有的证书如果快过期了, 则会自动更新。安装后理论上会自动添加一个 acme.sh 全局应用别名但有时候会 command not found需要手动执行以下命令source ~/.bashrc 或 source ~/.bash_profile或关掉终端重新打开然后再继续下一步。也可以在 ~/.acme.sh 目录下使用 sh acme.sh 执行命令例如sh acme.sh --list 申请证书
Zerossl acme.sh v3.0 开始默认的免费 SSL 证书变更为ZeroSSL 相关文章
从 acme.sh v3.0 说说 ZeroSSL Zerossl官网
HTTP方式
修改 nginx.conf 配置文件
server {listen 80;#请填写绑定证书的域名server_name example.com;
}申请证书–day 2 表示更新证书的天数默认值为 60 天
acme.sh --issue -d xh123.cn --nginx --days 2进入~/.acme.sh 目录下查看证书信息
手动 DNS 方式 这种方式需要手动在域名上添加一条 TXT 解析记录验证域名所有权。这种方式的好处是, 你不需要任何服务器不需要任何公网 IP只需要 DNS 的解析记录即可完成验证。注意这种方式的坏处是如果不同时配置 DNS API将无法自动更新证书每次都需要手动再次重新解析验证域名所有权。 手动 DNS 验证
acme.sh --issue -d example.com -d *.example.com --dns \
--yes-I-know-dns-manual-mode-enough-go-ahead-please到 DNS 解析中新增一条 TXT 记录域名前缀为 _acme-challenge记录值为终端输出的 TXT value 的值。然后再次执行
acme.sh --renew -d example.com -d *.example.com \
--yes-I-know-dns-manual-mode-enough-go-ahead-pleaseDNS API 方式 本文章使用腾讯云 DNSPod 登录腾讯云 DNSPod并创建DNSPos Token 秘钥 获取到秘钥后在 ~/.acme.sh 目录下的 account.conf 配置文件中添加配置
# 腾讯云
export DP_IdYourId
export DP_KeyYourToken申请证书–server letsencrypt 表示指定证书申请服务器为 Let’s Encrypt–day 2 表示更新证书的天数默认值为 60 天
acme.sh --issue --server letsencrypt --dns dns_dp -d example.com --days 2查看申请的证书
acme.sh --list强制续期证书
acme.sh --renew -d example.com --force删除证书
删除证书
acme.sh --remove -d example.com撤销证书
acme.sh --revoke -d example.com命令执行成功后需要一并删除在~/.acme.sh目录中的域名文件夹
rm -rf example.com_ecc更新 acme.sh 目前由于 acme 协议和 Let’s Encrypt CA 都在频繁的更新因此 acme.sh 也经常更新以保持同步。 手动升级 acme.sh 到最新版
acme.sh --upgrade如果你不想手动升级可以开启自动升级
acme.sh --upgrade --auto-upgrade你也可以随时关闭自动更新
acme.sh --upgrade --auto-upgrade 0安装证书 不要直接复制证书到目标目录正确的方式是使用 -install-cert 命令安装。在命令中指定目标位置证书文件会被复制到相应的位置。reloadcmd 命令当证书发布/更新后reloadcmd 命令会被自动调用让新的配置生效。也就是证书更新之后nginx 配置的证书信息也会自动更新。 acme.sh --install-cert -d example.com \
--key-file /etc/nginx/conf/ssl/example.com/example.com.key \
--fullchain-file /etc/nginx/conf/ssl/example.com/fullchain.cer \
--reloadcmd systemctl force-reload nginxnginx.conf 配置证书信息
server {#SSL 默认访问端口号为 443listen 443 ssl;#请填写绑定证书的域名server_name example.com;#请填写证书文件的相对路径或绝对路径ssl_certificate /etc/nginx/conf/ssl/example.com/fullchain.cer;#请填写私钥文件的相对路径或绝对路径ssl_certificate_key /etc/nginx/conf/ssl/example.com/example.com.key;location / {root /etc/nginx/html/blog;index index.html index.htm;}
}重启nginx后生效
nginx -c /etc/nginx/nginx.conf
nginx -s reload使用https方式访问域名网站查看证书信息
本文参考链接 acme.sh-实现自动化部署SSL证书有详细的 DNS API Let’s Encrypt SSL 泛域名证书申请和配置 nginx 配置 acme.sh