首页 > 其他分享 >为网站接入免费SSL证书let's encrypt 并实现自动续签功能

为网站接入免费SSL证书let's encrypt 并实现自动续签功能

时间:2023-10-17 11:35:43浏览次数:28  
标签:bin encrypt sudo crontab SSL let usr certbot

以ubuntu系统为例:

1.安装certbot:

apt update
apt upgrade
sudo apt install certbot python3-certbot-nginx

2.验证Web服务器端口是否打开并允许通过防火墙

sudo ufw status verbose

3.获取SSL证书

sudo certbot --nginx -d your_domain.com -d www.your_domain.com

4.检查Certbot的状态

sudo systemctl status certbot.timer

5.检查证书到期时间:

openssl x509 -noout -dates -in /etc/letsencrypt/live/{域名}/cert.pem

也可以直接打开浏览器访问域名,点击域名前面的小锁,点击 "连接是安全的" -> “证书有效”查看:

 

 6.手动运行SSL续订:

certbot renew --force-renew  

7.配置到crontab中自动续签:(此处有坑,我专门开了另一篇文章去讨论,有兴趣的可以看看)

crontab -e //编辑计划任务

SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 01 01 01 * * /usr/bin/sh /home/xxx/htdocs/www.xxx.com/crontab.sh>a.log 2>&1

crontab.sh脚本内容:
#!/bin/bash

/usr/bin/certbot renew --force-renew && nginx -s reload

 

标签:bin,encrypt,sudo,crontab,SSL,let,usr,certbot
From: https://www.cnblogs.com/cx850116/p/17769283.html

相关文章

  • TLS/SSL 协议 - ClientHello
    ClientHello在一次新的握手流程中,ClientHello消息总是第一条消息。这条消息将客户端的功能和首选项传送给服务器。客户端会在新建连接后,希望重新协商或者响应服务器发起的重新协商请求(由HelloRequest消息指示)时,发送这条消息。Wireshark抓取ClientHello消息:Version协议版......
  • java serverlets使用数据源连接oracle数据库,并执行查询操作代码
    packagechap03;importjava.io.IOException;importjava.io.PrintWriter;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.PreparedStatement;importjava.sql.Statement;importjava.u......
  • @SuppressLint("NotifyDataSetChanged")
    @SuppressLint("NotifyDataSetChanged")注解的功能是用于在Android开发中抑制与notifyDataSetChanged方法相关的Lint警告或错误。在Android开发中,当你使用适配器(例如ArrayAdapter、BaseAdapter等)来填充ListView或RecyclerView等视图时,通常会调用notifyDataSetChanged方法,以通知......
  • ServletContext对象的学习
    一、新建了一个模块servlet-02,需要改变web.xml头部,并且改变tomcat配置,war尽量用哪个打哪个头部代码:<?xmlversion="1.0"encoding="UTF-8"?><web-appversion="4.0"xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http......
  • 论文阅读(三)——Channel-wise Topology Refinement Graph Convolution for Skeleton-Ba
    代码实验pythonmain.py--configconfig/nturgbd-cross-subject/default.yaml--work-dirwork_dir/ntu/csub/ctrgcn--device0--num-worker0综述......
  • Chiplet封装技术的应用现状
    这是IC男奋斗史的第39篇原创本文1651字,预计阅读4分钟。接上文:Chiplet解决芯片技术发展瓶颈Chiplet封装的产品介绍以下介绍几款国内外使用Chiplet封装技术的代表产品,包括CPU、GPU和ASIC芯片。1.苹果M1-UltraCPU:2022年3月9日,苹果推出自研的M1-Ultra处理器芯片,通过UltraFusio......
  • 报错:Could not resolve view with name 'xxx' in servlet with name 'dispatcherServl
    报错:Servlet.service()forservlet[dispatcherServlet]incontextwithpath[]threwexception[Couldnotresolveviewwithname'xxx'inservletwithname'dispatcherServlet']withrootcauseCouldnotresolveviewwithname'xxx&......
  • java-springboot和servlet的项目搭建
    1.404->启动tomcat->tomcat闪退->配置jre全局环境,重启电脑->8080端口被占用->下载太多tomcat->重新配置->还是被占用->命令行找netstat-ano|findstr80得到PID,在任务管理器找到(用PID排序会更好找)是一个java.exe,结束进程。->成功运行2.入口类3.mysql命令不生效->因为没加分号(我......
  • jclasslib的安装
    双击安装包打开后点击下一步,然后选择安装的路径。默认路径,如果c盘有空间不建议更改路径,然后再次点击下一步依然选择下一步最后点击完成即可完成安装。现在可以使用啦注:如果需要安装包,请点击下面链接:专业的字节码查看工具——jclasslib......
  • java.lang.TypeNotPresentException: Type javax.servlet.http.HttpServletRequest no
    完整的报错信息java.lang.TypeNotPresentException:Typejavax.servlet.http.HttpServletRequestnotpresent atjava.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117)~[na:na] atjava.base/sun.reflect.generics......