【网站建设:HTTPS - 如何生成免费SSL证书,并自动更新】

某阿X云服务平台的证书托管服务中,有关于HTTPS证书获取,生成和自动更新的功能。但其作为一项增值服务,每月就要几百元 。但是这个我们可以自己写几行代码来实现,

  • 证书生成
  • 更新到Nginx
  • 自动更新

假设我们有个域名wu123.cn要为域名 生成 SSL 证书和密钥。

使用 Let's Encrypt 免费 SSL 证书:Let's Encrypt 是一个免费的、自动化的、开放的证书颁发机构 (CA),可以为你的域名生成免费的 SSL 证书。

1. 证书生成

使用 Let's Encrypt 生成 SSL 证书,Let's Encrypt 提供免费的 SSL 证书,并且可以使用 Certbot 工具自动生成和管理证书。

安装 Certbot,在 Ubuntu 上安装 Certbot

复制代码
sudo apt update
sudo apt install certbot python3-certbot-nginx

2. 更新到Nginx

2.1 使用 Certbot 生成 SSL 证书,生成 SSL 证书

复制代码
sudo certbot --nginx -d wu123.cn -d www.wu123.cn

Certbot 会自动配置 Nginx 并生成 SSL 证书和密钥。

证书和密钥文件通常会生成在 /etc/letsencrypt/live/wu123.cn/ 目录下。

2.2 配置 Nginx 使用 SSL 证书,一个 Nginx 配置示例,展示了如何使用生成的 SSL 证书:

Nginx 配置文件 (/etc/nginx/sites-available/default)

复制代码
server {
    listen 80;
    server_name wu123.cn www.wu123.cn;

    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl;
    server_name wu123.cn www.wu123.cn;

    ssl_certificate /etc/letsencrypt/live/wu123.cn/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/wu123.cn/privkey.pem;

    location / {
        proxy_pass <http://localhost:3000>; # 你的应用服务器
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

3. 自动更新

docker 复制代码
# 测试一下自动更新
sudo certbot renew --dry-run
# 添加到定时任务
sudo crontab -e
0 0 * * 0 /usr/bin/certbot renew --quiet

至此,通过以上三步,便完成了HTTPS证书的生成,以及更新维护。

相关推荐
码事漫谈8 小时前
大模型输出的“隐性结构塌缩”问题及对策
前端·后端
小江的记录本9 小时前
【网络安全】《网络安全常见攻击与防御》(附:《六大攻击核心特性横向对比表》)
java·网络·人工智能·后端·python·安全·web安全
努力的小雨9 小时前
龙虾量化实战法(QClaw)
后端
橙露9 小时前
SpringBoot 整合 MinIO:分布式文件存储上传下载
spring boot·分布式·后端
2401_8955213411 小时前
【Spring Security系列】Spring Security 过滤器详解与基于JDBC的认证实现
java·后端·spring
小码哥_常11 小时前
大文件上传不再卡顿:Spring Boot 分片上传、断点续传与进度条实现全解析
后端
_Evan_Yao12 小时前
RAG中的“Chunk”艺术:我试过10种切分策略后总结的结论
java·人工智能·后端·python·软件工程
今天你TLE了吗12 小时前
LLM到Agent&RAG——AI概念概述 第二章:提示词
人工智能·笔记·后端·学习
IT_陈寒13 小时前
Vue的响应式把我坑惨了,原来问题出在这
前端·人工智能·后端
shark222222213 小时前
能懂!基于Springboot的用户增删查改(三层设计模式)
spring boot·后端·设计模式