使用 Let’s Encrypt 生成免费 SSL 证书

使用 Let's Encrypt 生成证书是一个简单且免费的方式,可以通过 Certbot 工具来实现。以下是详细的步骤说明:

1. 安装 Certbot

根据你的操作系统,安装 Certbot。以下以 Ubuntu 为例:

bash 复制代码
sudo apt update
sudo apt install certbot

2. 请求证书

在请求证书前,确保你的域名已经解析到你的服务器。然后,你可以选择不同的插件来验证域名并生成证书。常见的插件包括 Webroot 插件和 Standalone 插件。

使用 Webroot 插件

Webroot 插件需要你有一个 Web 服务器(如 Apache 或 Nginx)运行,并将验证文件放置在 Web 服务器的根目录下。

bash 复制代码
sudo certbot certonly --webroot -w /var/www/html -d www.hei.asia
  • -w /var/www/html:指定你的 Web 服务器的根目录。
  • -d www.hei.asia:指定你要申请证书的域名。
使用 Standalone 插件

Standalone 插件不需要你已有一个运行中的 Web 服务器,它会自己启动一个临时的 Web 服务器来完成验证。

bash 复制代码
sudo certbot certonly --standalone -d www.hei.asia

3. 自动化证书更新

Let's Encrypt 证书的有效期为90天,因此定期更新证书是必要的。你可以通过以下命令手动更新证书:

bash 复制代码
sudo certbot renew

为了自动更新证书,可以将以上命令添加到 cron 任务中。编辑 cron 任务:

bash 复制代码
sudo crontab -e

添加以下行:

bash 复制代码
0 0,12 * * * /usr/bin/certbot renew --quiet

这表示每天的午夜和中午都会尝试更新证书。

4. 配置 Web 服务器

在生成证书后,你需要配置你的 Web 服务器来使用这些证书。

配置 Nginx

编辑 Nginx 配置文件(例如 /etc/nginx/sites-available/www.hei.asia):

nginx 复制代码
server {
    listen 80;
    server_name www.hei.asia;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name www.hei.asia;

    ssl_certificate /etc/letsencrypt/live/www.hei.asia/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/www.hei.asia/privkey.pem;

    root /var/www/html;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}

然后重新加载 Nginx 配置:

bash 复制代码
sudo systemctl reload nginx
配置 Apache

编辑 Apache 配置文件(例如 /etc/apache2/sites-available/www.hei.asia.conf):

apache 复制代码
<VirtualHost *:80>
    ServerName www.hei.asia
    DocumentRoot /var/www/html
    RewriteEngine on
    RewriteCond %{SERVER_NAME} =www.hei.asia
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

<VirtualHost *:443>
    ServerName www.hei.asia
    DocumentRoot /var/www/html

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/www.hei.asia/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/www.hei.asia/privkey.pem
    Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>

启用 SSL 模块和站点配置,然后重新加载 Apache 配置:

bash 复制代码
sudo a2enmod ssl
sudo a2ensite www.hei.asia.conf
sudo systemctl reload apache2

总结

通过以上步骤,你可以使用 Let's Encrypt 和 Certbot 为你的域名 www.hei.asia 生成和安装免费的 SSL/TLS 证书,并配置 Web 服务器来使用这些证书。定期更新证书也可以通过自动化任务来实现,确保你的站点始终保持安全。

相关推荐
山雀~11 小时前
WebSocket 断连之后:一次手机采集偶现卡死的排查与修复
网络·websocket·网络协议
Novproxy_Z11 小时前
机房 IP 和住宅 IP 怎么区分?IP ASN、归属信息检测脚本
linux·网络·tcp/ip
黑码哥11 小时前
OpenClaw 网络数据采集实战入门
网络
码少女11 小时前
Linux——网络层-IP协议以及路由选择
linux·网络·网络协议·tcp/ip
发光小北12 小时前
EtherCAT 转 ModbusTCP 网关现场应用中会遇到什么问题?
网络
Ivanqhz12 小时前
MoE 原理、TC/EC 路由、LSH-MoE 与负载均衡浅析
运维·网络·人工智能·深度学习·算法·机器学习·负载均衡
悟道书生12 小时前
若依 RBAC 权限控制学习笔记
java·网络·笔记·sql·学习·vue
电梯界知识分子12 小时前
景德镇老房重新设计阶段规划楼梯与电梯,1.7m×1.6m空间装400kg观光电梯,棕色框架茶色玻璃适配中式装修
大数据·服务器·前端·网络·家用电梯
Yiran_G12 小时前
双频 Wi-Fi 6 + 蓝牙 5.4:无声讯通 WS8712 模组的开发与集成要点
网络·嵌入式硬件·物联网·智能家居
dsadas13 小时前
ospf宣告网段的理解
网络协议