acme云服务器生成证书_Certbot-免费的HTTPS证书

本文介绍了如何使用Certbot获取Let's Encrypt的免费SSL证书,并详细阐述了证书配置过程,包括生成证书、配置Nginx虚拟主机以及证书的自动续签。这种方法相比腾讯云的证书管理更加便捷,支持所有二级域名通用。
摘要由CSDN通过智能技术生成

810ee2cf347c372c8d49f99b109c6a34.png

书接上文,会了Nginx,也配了网站了,但是总觉得少了点什么,今天来说说https的证书配置

关于什么是https,以及http和https的区别,这些问题我就不跟你多bb了,自己百度搜去。。。

https_百度百科​baike.baidu.com
841251f710dc30e216448a7ae2b1afbe.png

直接说正事,Certbot的免费证书配置。

获取SSL证书
理论上,我们自己也可以手动制作一个 SSL 安全证书,但是我们自己签发的安全证书浏览器信任,所以我们需要被信任的证书授权中心( CA )签发的安全证书。而一般的 SSL 安全证书签发服务都需要付费,且价格昂贵,不过为了加快推广 https 的普及, EEF 电子前哨基金会、 Mozilla 基金会和美国密歇根大学成立了一个公益组织叫 ISRG ( Internet Security Research Group ),这个组织从 2015 年开始推出了 Let’s Encrypt 免费证书。这个免费证书不仅免费,而且还相当好用,所以我们就可以利用 Let’s Encrypt 提供的免费证书部署 https 了。

接下来就进入远端服务器,进行安装与配置:

1、获取certbot-auto

wget https://dl.eff.org/certbot-auto
chmod a+x ./certbot-auto
./certbot-auto --help

2、生成证书

./certbot-auto --server
https://acme-v02.api.letsencrypt.org/directory -d "chennick.wang" -d "*.chennick.wang"
--manual --preferred-challenges dns-01 certonly

注意⚠️:

生成的过程中会让你添加域名记录,注意类型是TXT如下图:

bedb9c8fc7308624066a9f37eef7f460.png
配置域名记录

添加完之后去下面 路径检查一下密钥是否生成:

88690945a0ac480e420e942631d09138.png
密钥地址

fullchain.pem和privkey.pen这俩玩意儿很关键,后面配置虚拟主机的时候会用到它们

下面就来看看怎么配置虚拟主机:

在 /etc/nginx/conf.d 路径下新建一个 ssl.conf 配置如下:
# ssl on;
# listen 443 ssl;
ssl_certificate       /etc/letsencrypt/live/chennick.wang/fullchain.pem;
ssl_certificate_key   /etc/letsencrypt/live/chennick.wang/privkey.pem;

# openssl dhparam -out /etc/ssl/private/dhparam.pem 2048
ssl_protocols TLSv1.3 TLSv1.2;
ssl_ciphers TLS13-AES-256-GCM-SHA384:
TLS13-CHACHA20-POLY1305-SHA256:
TLS13-AES-128-GCM-SHA256:
TLS13-AES-128-CCM-8-SHA256:
TLS13-AES-128-CCM-SHA256:
TLS_AES_256_GCM_SHA384:
TLS_CHACHA20_POLY1305_SHA256:
TLS_AES_128_GCM_SHA256:
ECDHE-ECDSA-AES256-GCM-SHA384:
ECDHE-RSA-AES256-GCM-SHA384:
ECDHE-ECDSA-CHACHA20-POLY1305:
ECDHE-RSA-CHACHA20-POLY1305:
ECDHE-ECDSA-AES128-GCM-SHA256:
ECDHE-RSA-AES128-GCM-SHA256:
ECDHE-ECDSA-AES256-SHA384:
ECDHE-RSA-AES256-SHA384:
ECDHE-ECDSA-AES128-SHA256:
ECDHE-RSA-AES128-SHA256;
ssl_prefer_server_ciphers on;    # Forward Secrecy
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 30m;
⚠️要注意 ‘ssl_certificate’ 和 ‘ssl_certificate_key’ 这俩参数要配置上面生成密钥的路径

打开同在 /etc/nginx/conf.d 下的 default2.conf:

07d385f5cd37a7227df7def4a4394b47.png
default2.conf

把listen改成 443 ssl,最后保存退出,重启一下nginx

到浏览器去查看配置情况,浏览器输入网址 https://nginx2.chennick.wang

b06dcb2664cd2d9570e43e13d3681f6b.png
。。。部署的项目有问题,忽略哈

网页是呈现出来了,来看看证书,点击下图红色箭头指的地方

22dd5b23679af16a82c6d7113936dc9d.png

e645bc5a10b8aeddb3abcbb7e7167c70.png

配置了这个证书之后,我的chennick.wang下的所有二级域名,都将通用,无需再次单独配

这可比腾讯云的证书好多了,因为腾讯云每个二级域名都是需要配置证书的

过期时间的问题,证书每三个月会过期,但是可以无限续签,邮箱会通知你

首先使用命令行看看证书是否过期了

369e9353eafb7bc8c7bab6ea9db050e7.png
我的证书还没过期呢哈哈哈哈哈哈

先看看手动续签,使用命令行:

./certbot-auto renew
# 如果提示未到期,cert not due for renewal,可以强制更新如下
./certbot-auto renew --force-renew
# 看到success表示成功了

接下来是自动续签:

写一个renew-cert.sh
#!/bin/bash
# 停止nginx
nginx -s stop

# 续签
/root/certbot-auto renew --force-renew

# 重启nginx
nginx -s reload
给所有的用户添加执行 renew-cert.sh 这个文件的权限
chmod a+x renew-cert.sh
自动更新https证书
0 4 1 */2 * /root/renew-cert.sh >/root/crontab.log 2>&1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值