博主头像
mxd's Blog

"The quieter you become,the more you are able to hear."

如何使用 Certbot 快速为网站申请 SSL 证书

如何使用 Certbot 快速为网站申请 SSL 证书

前提条件

  1. 操作系统: Debian 或 Ubuntu 系统。
  2. 已安装 Nginx: 确保 Nginx 已安装并运行。
  3. 域名解析: 域名已经解析到服务器的 IP 地址。
  4. 开放必要端口: 服务器允许 80 和 443 端口的流量。
  5. Nginx 配置文件: 网站的 Nginx 配置文件位于 /etc/nginx/sites-available/,并链接到 /etc/nginx/sites-enabled/

Step 1: 安装 Certbot 和插件

安装 Certbot 及其 Nginx 插件:

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

Step 2: 配置 Nginx

Certbot 会自动检测 Nginx 的站点配置文件,因此需要确保每个站点配置正确。

以下是 default 文件的示例配置,位于 /etc/nginx/sites-available/default

server {
    # 注意此处不应该有SSL监听443的配置,即不能有任何改动listen指令。
    # 只要保证server_name 后面的域名对,listen端口对,root网站所在路径对,就行了。
    # certbot不管location块。
    listen 80;
    server_name example.com www.example.com;

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

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

确保将 server_name 替换为你的实际域名。

激活配置:

sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
sudo nginx -t  # 测试配置文件是否正确
sudo systemctl reload nginx

Step 3: 使用 Certbot 申请证书

运行以下命令:

sudo certbot --nginx

Certbot 会自动检测到配置的域名,并提示你选择要申请证书的域名。
按照certbot的指令,添加DNS记录或者什么都不用做。英文看不懂就点翻译。
选择后,Certbot 会自动更新 Nginx 配置以启用 HTTPS。


Step 4: 验证安装

访问你的域名,例如 https://example.com,确认是否正确加载 HTTPS。


Step 5: 配置自动续期

Certbot 默认会自动续期 SSL 证书。你可以使用以下命令测试续期功能:

sudo certbot renew --dry-run

故障排查

  1. 域名未正确解析: 确保域名 DNS 已解析到服务器 IP。
  2. 端口被防火墙阻止: 确认 80 和 443 端口未被阻塞。
  3. Nginx 配置问题: 使用 sudo nginx -t 测试配置是否正确。

通过以上步骤,你可以快速为网站配置 SSL 证书,让你的网站更安全,用户更放心!

如何使用 Certbot 快速为网站申请 SSL 证书
https://blog.mxdyeah.top/mxdyeah_blog_post/certbot_request_ssl_common.html
本文作者 mxdyeah
发布时间 2024-12-28
许可协议 CC BY-NC-SA 4.0
发表新评论