IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Let‘s Encrypt申请ssl证书 -> 正文阅读

[系统运维]Let‘s Encrypt申请ssl证书

Let’s Encrypt

Let’s Encrypt是一个提供免费TLS认证的网站,超过2600w的网站都在使用。其可以配合nginx,为网站生成ssl证书,提供https访问。Let’s Encrypt的证书有效期为90天,可以搭配systemd定时任务,定时更新证书。

PS:本操作基于Centos8和python3

证书申请

  1. 安装epel源
$ sudo dnf install epel-release
  1. 安装certbot
$ sudo dnf install certbot python3-certbot-nginx

因为我用的nginx作为http服务器,如果是apache,安装apache的插件,如下:

$ sudo dnf install certbot python3-certbot-apache
  1. 申请证书
$ sudo certbot --nginx --nginx-server-root=/home/farm/nginx/conf certonly

PS:我安装的nginx目录在用户家目录下,需要将nginx放入环境变量,或者是建立一个软链接,保证nginx命令可以正常执行,我用的是建立软链接的方案

$ sudo ln -s /home/farm/nginx/sbin/nginx /usr/bin/nginx
  1. 证书生成
    证书生成过程

证书申请过程中,需要填写邮箱,和确认条款。就是上图标注1,2,3处。最后选择需要申请证书的域名,如果全部都生成,直接回车即可。

  1. 配置证书
#生成的证书都在/etc/letsencrypt/live/<domain>目录下,<domain>为申请的域名
在nginx.conf文件中添加以下配置
server {
    listen 443 ssl;
    ssl_certificate      /etc/letsencrypt/live/<domain>/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/<domain>/privkey.pem;
    proxy_pass http://127.0.0.1:8080  # 仅做示例
}
  1. 证书自动更新

更新证书脚本

$ vim renew_ssl.sh

#写入以下内容
$ certbot renew

创建systemd定时任务

a. 创建Service单元

$ cd /etc/systemd/system
$ sudo vim renew_ssl.service

写入以下内容:

[Unit]
Description=certbot renew

[Service]
ExecStart=/bin/bash /home/farm/nginx/sh/renew_ssl.sh

启动Service单元

$ sudo systemctl start renew_ssl.service

b. 创建Timer单元

$ cd /etc/systemd/system
$ sudo vim renew_ssl.timer

写入以下内容:

[Unit]
Description=run renew_ssl.sh every 12 hours
 
[Timer]
OnUnitActiveSec=43200s
Unit=renew_ssl.service

[Install]
WantedBy=multi-user.target

启动Timer单元

$ sudo systemctl daemon-reload
$ sudo systemctl enable renew_ssl.timer
$ sudo systemctl start renew_ssl.timer
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-09 10:35:59  更:2021-08-09 10:36:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 9:50:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码