使用Let's Encrypt + Nginx生成免费HTTPS证书
程序员文章站
2022-05-28 21:21:04
Let’s Encrypt简介 官网:https://letsencrypt.org/ Let’s Encrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由Mozilla、Cisco、Akamai、IdenTrust、EFF等组织人员发起,主要的目的也是为了推进网站从HTTP向HT ......
let’s encrypt简介
官网:https://letsencrypt.org/
let’s encrypt作为一个公共且免费ssl的项目逐渐被广大用户传播和使用,是由mozilla、cisco、akamai、identrust、eff等组织人员发起,主要的目的也是为了推进网站从http向https过度的进程,目前已经有越来越多的商家加入和赞助支持。
certbot简介
官方客户端 certbotcertbot提供了很多命令来管理证书的获取,更新,与撤销,详情可参阅官网。
操作步骤
1.克隆certbot仓库
sudo git clone
https://github.com/certbot/certbot/opt/letsencrypt/opt/letsencrypt/letsencrypt-auto
2. nginx server配置域名验证
location ^~ /.well-known/acme-challenge/ {
default_type "text/plain";
root /opt/java1024/cert;
}
location = /.well-known/acme-challenge/ {
return 404;
}
3.使用certbot生成证书
export domains="java1024.club,m.java1024.club"export dir=/opt/java1024/cert
/opt/letsencrypt/letsencrypt-auto certonly --server https://acme-v01.api.letsencrypt.org/directory -a webroot --webroot-path=$dir -d $domains
4.使用证书, nginx server配置
listen 443;#let's encrypt
ssl_certificate /etc/letsencrypt/live/java1024.club/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/java1024.club/privkey.pem;
5.创建自动检查更新脚本,并加入crontab
crontab 是用来定期检查证书有效期。
#!/bin/sh# this script renews all the let's encrypt certificates with a validity < 30 days
if ! /opt/letsencrypt/letsencrypt-auto renew > /var/log/letsencrypt/renew.log 2>&1 ; then
echo automated renewal failed:
cat /var/log/letsencrypt/renew.log
exit 1fi
nginx -t && nginx -s reload
加入定时任务
sudo crontab -e
@daily /mnt/crontab_scrpit/renew_certs.sh
6.更改域名信息
export domains="java1024.club,m.java1024.club,java1024.com"
export dir=/opt/java1024/cert
/opt/letsencrypt/letsencrypt-auto certonly --server https://acme-v01.api.letsencrypt.org/directory -a webroot --webroot-path=$dir -d $domains
7. 重启服务器
nginx -s reload
访问域名,效果展示:
推荐阅读
-
docker获取Let's Encrypt永久免费SSL证书的方法
-
使用Let's Encrypt + Nginx生成免费HTTPS证书
-
开启OCSP提升https证书验证效率解决Let’s Encrypt SSL证书访问慢的问题
-
使用 Let's Encrypt 为 Zimbra-8.8.15 安装可信任的SSL证书
-
[原创] Let's Encrypt 免费开启 HTTPS 之旅
-
使用CloudXNS API快速验证域名一键获取Let's Encrypt SSL证书
-
linux系统下使用nginx反向代理asp.net core,并配置免费的https证书
-
借助 Let’s Encrypt 免费开启 HTTPS
-
Linux下使用acme.sh申请和管理Let’s Encrypt证书
-
(四) Docker 使用Let's Encrypt 部署 HTTPS