首页 > 系统相关 >如何使用Let's Encrypt和Nginx为您的网站提供免费的SSL/TLS证书

如何使用Let's Encrypt和Nginx为您的网站提供免费的SSL/TLS证书

时间:2025-01-05 10:55:44浏览次数:1  
标签:TLS Encrypt nginx -- 证书 Nginx Certbot certbot

步骤1:安装Certbot和Nginx

yum install -y epel-release
yum install -y certbot
yum install certbot python3-certbot-nginx

步骤2:配置Nginx以使用域名 

# 编辑Nginx配置文件
sudo nano /etc/nginx/conf.d/your_domain

# 添加以下内容
server {
    listen 80;
    server_name your_domain.com;
    location / {
        root /var/www/your_domain;
        index index.html;
    }
}

步骤3:使用Certbot获取和安装证书

  • 方法1 不指定域名自动安装证书
certbot --nginx

列出域名,选择序号添加证书并更新nginx配置

查看nginx配置信息,发现已经配置好https 443监听已经证书路径,自动加入的内容如下:

server {
    server_name admin.abc.com;
    rewrite ^(.*)$ https://${server_name}$1 permanent;
    client_max_body_size 10M;
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/admin.abc.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/admin.abc.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
  • 方法2 指定域名手动安装证书
certbot certonly --nginx  -d www.abc.com -m ejiyuan@163.com --agree-tos

运行结果如下:

需要手动配置nginx添加https 443 监听

步骤3:手动更新证书

Let's Encrypt SSL 证书的有效期仅为 90 天,因此定期更新非常重要。您可以使用以下命令续订全部 SSL 证书:

certbot renew

此命令将检查证书是否到期续订,并在必要时续订证书。

步骤4:使用定时任务自动动更新证书

使用命令:

sudo crontab -e

插入代码:

0 3 * * * /usr/bin/certbot renew --quiet && systemctl reload nginx
  • 0 3 * * *: 每天凌晨 3 点执行任务。
  • /usr/bin/certbot renew --quiet: 执行证书续期操作,--quiet 参数会隐藏输出。
  • && systemctl reload nginx: 在证书续期成功后重新加载 Nginx 配置。

确保 crond 服务正在运行

sudo systemctl enable crond
sudo systemctl start crond

检查 crontab 是否设置正确:

sudo crontab -l

 

标签:TLS,Encrypt,nginx,--,证书,Nginx,Certbot,certbot
From: https://www.cnblogs.com/ejiyuan/p/18653186

相关文章

  • 学习-Nginx-安装nginx1.21.6开源软件
    下载地址http://nginx.org/download/nginx-1.21.6.tar.gz通过网盘分享的文件:Nginx1.21.6链接:https://pan.baidu.com/s/1tcsTs2IEmN80wt5VQ5U3PA?pwd=sky1提取码:sky1Xftp传输安装包解压缩安装包tarzxvfnginx-1.21.6进入到nginx文件夹查看需要的依赖./configu......
  • Nginx-克隆备份虚拟机
    克隆备份虚拟机选中要备份的虚拟机-管理-克隆开机状态下没有办法克隆关机init0下一页克隆当前状态选择创建链接克隆克隆名称位置完成克隆......
  • Nginx-CentOS设置网卡配置固定IP地址
    一、未设置网卡前唔怕ping通网络二、ipaddr查看网络配置ipaddr三、修改ifcfg-ens33配置文件vi/etc/sysconfig/network-scripts/ifcfg-ens33四、ONBOOT=no改为yes(启动操作系统后一并启动网卡)五、重启网卡systemctlrestartnetwork此时再去pingqq.com的话......
  • Nginx稳定版最新1.26.2源码包安装【保姆级教学】
    Nginx安装及配置开源Nginx官网地址(https://nginx.org)Nginx源码包下载地址(https://nginx.org/en/download.html)Mainlineversion主线版本Stableversion稳定版本Legacyversions陈旧版本下载Nginx源码文件curl-Ohttps://nginx.org/download/nginx-1.26......
  • Nginx性能优化之Gzip压缩文件配置方法详细说明
    Nginx性能优化之Gzip压缩文件配置方法详细说明Gzip压缩参数说明线上Gzip压缩配置Gzip压缩对比Gzip开启验证Nginx开启Gzip压缩功能,可以使网站的css、js、xml、html文件在传输时进行压缩,提高访问速度,进而优化Nginx性能!Web网站上的图片,视频等其它多媒体文件以及大......
  • Nginx不停服务版本升级(平滑升级)
    以默认安装路径为例,即nginx主文件为/usr/sbin/nginx备份nginx旧版本,即此例中的/usr/sbin/nginx这一文件;下载nginx新版本压缩包,并解压到需要进行升级的节点任意目录,此处以解压到/root为例;执行如下指令,并将输出的参数复制下来;/usr/sbin/nginx-V定位到新版本解压......
  • 发布blazor应用到Linux, 使用nginx作为WebSocket代理
    Blazor使用了SignalR连接,而SignalR使用的是WebSocketWebSocket协议提供了一种创建支持客户端和服务器之间实时双向通信的Web应用程序的方法。作为HTML5的一部分,WebSocket使开发此类应用程序比以前的方法容易得多。大多数现代浏览器都支持WebSocket,包括Chrome、Firefox......
  • 【手把手-包教包会系列】nginx 在linux的安装步骤
    手把手带你linux安装ngixn【包教包会系列】引言在linux下安装nginx,第一步需要安装gcc-c++编译器;第二步安装nginx依赖的pcre和zlib包;第三步安装nginx;开始安装gcc-c++编译器yuminstallgcc-c++yuminstall-yopensslopenssl-devel安装pcre包yuminstall-y......
  • Nginx的referer参数的用法和原理
    ​Nginx的referer参数是用于控制HTTP请求中的Referer字段的相关配置。这个参数的主要作用是限制或允许特定来源网站的访问,以加强安全性或控制流量。用法:限制特定来源网站的访问: 可以使用referer参数来配置Nginx,使其只允许来自指定来源网站的请求。这有助于防止盗链或未经授......
  • Nodejs是如何支持HTTPS、tls的?
    Node.js通过其内置的https和tls模块来支持HTTPS和TLS。以下是详细解释:1.HTTPS支持Node.js使用https模块来支持HTTPS,该模块可以用来创建HTTPS服务器或发起HTTPS请求。创建HTTPS服务器要创建一个HTTPS服务器,你需要使用https.createServer()方法,并传入一......