前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >SSL证书自动化如此简单-certbot实践

SSL证书自动化如此简单-certbot实践

作者头像
用户10002156
发布于 2024-01-05 03:12:35
发布于 2024-01-05 03:12:35
83000
代码可运行
举报
文章被收录于专栏:生活处处有BUG生活处处有BUG
运行总次数:0
代码可运行

安装Certbot工具

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt-get update
sudo apt-get install certbot
certbot --version

ImportError: cannot import name 'appengine' from 'urllib3.contrib' (/usr/local/lib/python3.10/dist-packages/urllib3/contrib/init.py) 解决方案,卸载重装 pip uninstall urllib3 pip install urllib3

设置域名解析

申请证书

方式一:用指定根目录的方式,会在根目录下创建一个.well-known来验证域名的所有权

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
certbot certonly --webroot -w /root/www/html -d tmp1210.visionmedicals.cn

证书生成完毕后,我们可以在 /etc/letsencrypt/live/ 目录下看到对应域名的文件夹

方式二:certbot 还有另外一种模式 --standalone , 这种模式不需要指定网站根目录,他会自动启用服务器的443端口,来验证域名的归属。我们有其他服务(例如nginx)占用了443端口,就必须先停止这些服务,在证书生成完毕后,再启用。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# sudo certbot certonly --standalone --email jxiao@visionmedicals.com --agree-tos -d xjtmp.test.visionmedicals.cn
certbot certonly --standalone --email jxiao@visionmedicals.com --agree-tos -d tmp1210.test.visionmedicals.cn

自动续期证书

免费的Let's Encrypt证书的有效期为90天,因此我们需要设置自动续期,以确保证书不会过期。Certbot提供了一个方便的命令行工具来自动续期证书。

设置定时任务

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo crontab -e
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
0 0 * * 0 certbot renew --quiet

这将在每周日的午夜零点自动执行证书续期操作。

实践demo

step1.先配置好域名解释

step2.配置一个新的站点

使能够正常http访问

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
    listen       80;
    listen  [::]:80;
    server_name  tmp1210e.visionmedicals.cn;

    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

step3.生成证书到指定目录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@iZ7xva33l57s9vs0useftcZ:~/software/docker/nginx/config/conf.d# certbot certonly --webroot -w /root/www/html -d tmp1210e.visionmedicals.cn --config-dir /root/software/docker/nginx/config/conf.d/cert/ --email jxiao@visionmedicals.com
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Account registered.
Requesting a certificate for tmp1210e.visionmedicals.cn

Successfully received certificate.
Certificate is saved at: /root/software/docker/nginx/config/conf.d/cert/live/tmp1210e.visionmedicals.cn/fullchain.pem
Key is saved at:         /root/software/docker/nginx/config/conf.d/cert/live/tmp1210e.visionmedicals.cn/privkey.pem
This certificate expires on 2024-03-09.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
We were unable to subscribe you the EFF mailing list. You can try again later by visiting https://act.eff.org.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
 * Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
 * Donating to EFF:                    https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

step4:更新配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
    listen       443 ssl;
    server_name tmp1210e.visionmedicals.cn;

    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    ssl_certificate      conf.d/cert/live/tmp1210e.visionmedicals.cn/fullchain.pem;
    ssl_certificate_key  conf.d/cert/live/tmp1210e.visionmedicals.cn/privkey.pem;
    ssl_session_timeout  5m;
    ssl_session_cache    shared:SSL:1m;
    ssl_ciphers          ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:aNULL:!MD5:!ADH:!RC4;
    ssl_protocols        TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers  on;


}

server {
    listen 80;
    server_name tmp1210.visionmedicals.cn;
    rewrite ^ https://$host$1 permanent;
}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-01-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生活处处有BUG 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Nginx配置使用certbot自动申请HTTPS证书
在当今互联网环境中,网站的安全性越来越受到重视。HTTPS 作为一种能够提供加密通信和验证网站真实性的协议,已经成为网站安全的基本标准。然而,许多平台提供的 HTTPS 证书往往有有效期限制,比如腾讯云等平台目前提供的证书只有3个月的有效期。这不仅增加了证书管理的复杂性,还可能因为证书过期而导致网站访问中断。
王先森sec
2024/06/28
1.9K0
Nginx配置使用certbot自动申请HTTPS证书
使用 Certbot 安装 Letsencrypt 证书
1、拥有一个域名,例如 mydomain.com 2、在域名服务器创建一条A记录,指向云主机的公网IP地址。例如 demo.mydomain.com 指向 192.168.0.1 的IP地址 3、要等到新创建的域名解析能在公网上被解析到
SkyRiN
2018/11/20
4.7K0
Let's Encrypt 安装配置教程,免费的 SSL 证书
要求配置 DNS TXT 记录,从而校验域名所有权,也就是判断证书申请者是否有域名的所有权。
用户6884826
2021/07/09
4.2K0
教你快速撸一个免费HTTPS证书
HTTPS已成为业界标准,这篇博客将教你申请Let’s Encrypt的免费HTTPS证书。
Fundebug
2018/07/06
1.8K2
教你快速撸一个免费HTTPS证书
教你快速撸一个免费HTTPS证书
HTTPS 已成为业界标准,这篇博客将教你申请Let’s Encrypt的免费 HTTPS 证书。
Fundebug
2020/01/02
9890
免费https证书安装(Nginx)
对于站点来说,使用https访问能增强数据传输的安全性,避免一些安全事故,同时拥有了https认证,在主流浏览器中都被被标记为可信任的安全的网站,也能加强搜索引擎的对https站点的收录。
肓己
2021/08/12
1.6K0
Docker获取Let`s Encrypt SSL 证书
为了方便维护、升级,同时也避免破坏本地的开发环境,我这里使用docker方式来运行certbot。整个过程分为两步:首次申请证书和证书更新。
孟斯特
2023/11/15
8210
快速配置Let's encrypt通配符证书
利用certbot工具配置Let’s encrypt通配符证书,所域名下所有的子域名都能方便的使用 https证书,而且完全免费。值得关注的是,Let’s encrypt通配符证书只是针对二级域名,并不能针对主域名,如*.hubinqiang.com和hubinqiang.com 被认为是两个域名,如果和我一样使用的是主域名,在申请的时候需要注意都要申请。
OwenZhang
2021/12/08
2.2K0
快速配置Let's encrypt通配符证书
使用 Certbot 配置 HTTPS,让你的网站不再裸奔
不错,今天的主角就是给力的 Certbot,免费好用,真是我等 diaosi 的一大福音。
周萝卜
2019/07/23
1.4K0
使用 Certbot 配置 HTTPS,让你的网站不再裸奔
获取Let's Encrypt免费TLS/SSL证书的那点事儿
Let's Encrypt是一个于2015年三季度推出的数字证书认证机构,旨在以自动化流程消除手动创建和安装证书的复杂流程,并推广使万维网服务器的加密连接无所不在,为安全网站提供免费的SSL/TLS证书。 -- 引自维基百科
用户1456517
2019/03/05
1.6K0
Let’s Encrypt免费ssl证书申请
Let’s Encrypt是一个免费并且开源的CA,且已经获得Mozilla、微软等主要浏览器厂商的根授信。它极大低降低DV证书的入门门槛,进而推进全网的HTTPS化。
爱游博客
2019/08/07
4.2K0
使用Let's Encrypt的SSL证书配置HTTPS手记
前段时间,看见很多大会都在分享全站HTTPS的经验。HTTPS固然好,前提是SSL证书,并且签发证书的机构要靠谱。沃通的CA证书就相继被Mozilla和Google封杀了。曾经对于普通用户,权威,安全,并且免费的证书无疑就像天上的星星,可望而不可及。现在,这些星星变成了馅饼掉了下来。没错,我们可以申请安全免费的ssl证书--- Let's Encrypt。 Let’s Encrypt是电子前哨基金会(EFF)发布的免费 SSL 证书服务,Google,Mozilla和Microsoft都极力支持。很早之前就
李海彬
2018/03/19
2.5K0
使用Let's Encrypt的SSL证书配置HTTPS手记
SSL证书自动化-acme实战(Let’s Encrypt)
由于 HTTP 是明文传输,在使用 NextCloud 等服务时不够安全,需要配置 SSL 证书。不想让在被别人浏览的时候,出现莫名的广告[运营商劫持]。
用户10002156
2023/12/13
2.3K0
SSL证书自动化-acme实战(Let’s Encrypt)
Let’s Encrypt 官方推荐 Certbot 工具快速部署 SSL 证书
Let’s Encrypt免费 SSL 证书已经受到了包括 FireFox、Chrome 在内的众多主流浏览器的兼容和支持,目前国内的应用主要是提现在各大电商网站和门户网站上,可以提高访问和交易安全性。很多外贸公司网站也使用是因为 google 已经明确表示有提供 SSL 证书将会是一个加分因素。那么对于我们广大站长来说,也许将来某一天你的网站就需要添加这么一个 SSL 证书。 给网站添加 SSL 证书的方式有很多,老魏以后会分别写教程。今天魏艾斯博客(www.vpsss.net)说一下Let’s Encr
魏艾斯博客www.vpsss.net
2018/06/01
2.2K0
certbot免费证书-1:centos7部署并申请免费证书certbot
我们需要在zenlayer,aws-lb上配置certbot证书,因为是免费的,便宜。
千里行走
2022/08/31
1.9K0
certbot免费证书-1:centos7部署并申请免费证书certbot
使用Let's Encrypt免费证书实现https
Let's Encrypt是一家免费、开放、自动化的证书颁发机构(CA),为公众的利益而运行(由非盈利组织互联网安全研究小组(ISRG)运营)。
极客运维圈
2020/06/01
1.8K0
使用Let's Encrypt免费证书实现https
Linux服务器上Tomcat配置SSL证书并自动续期
2.lets encrypt官网地址:https://letsencrypt.org
JaneYork
2023/10/11
6660
Linux服务器上Tomcat配置SSL证书并自动续期
啊,原来申请数字证书这么简单
数字证书在公开密码算法中扮演着重要的角色,可用于数字签名、密钥协商、身份认证等等。如果要部署 HTTPS 网站,首先就要申请数字证书。
云水木石
2021/04/22
8590
Linux 下 Nginx 安装部署 Let’s Encrypt 证书实现 HTTPS
网站转成https是大势所趋。但是在国内,推进的过程显然要比国外慢很多。现阶段如果将自己的网站改成https以后,会碰到这样的尴尬现象:如果在页面上引用了http://的链接或者图片,用户在浏览器上会看到类似该网站是非安全网站的警告,对于网站运营者来说可以说非常冤。由于很多链接是第三方的,没有办法去控制。
星哥玩云
2022/07/14
3.4K0
Linux  下 Nginx 安装部署 Let’s Encrypt 证书实现 HTTPS
如何使用Certbot独立模式检索我们在Ubuntu 18.04上加密SSL证书
Let's Encrypt是一种通过自动API提供免费SSL证书的服务。最受欢迎的Let's Encrypt客户端是EFF的Certbot。
丰一川
2018/10/25
1.6K0
推荐阅读
相关推荐
Nginx配置使用certbot自动申请HTTPS证书
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验