在 Ubuntu 上安装 Let’s Encrypt SSL Apache 或 Nginx

介绍

Let’s Encrypt 是一个自动化、开放的证书颁发机构,为公众提供免费的 TLS/SSL 证书。 该服务由 Internet 安全研究小组 (ISRG) 提供。 本教程展示了怎样在 Ubuntu 20.04 服务器上安装 Let’s Encrypt SSL 证书 Apache 或 Nginx 使用 Certbot 安装向导。 完成本教程后,服务器将拥有有效证书并将所有 HTTP 请求重定向到 HTTPS。

先决条件

本教程假设您已经部署了一个 Vultr Ubuntu 服务器 Apache 或者 Nginx,有一个域名指向您的服务器 IP 地址,并且您以 root 身份登录。

1.安装Certbot

安装证书机器人 与 Snap.

  1. 验证 snapd 是最新的。

    $ sudo snap install core; sudo snap refresh core
    
  2. 消除 certbot-auto 和任何 Certbot 操作系统包。

    $ sudo apt-get remove certbot
    
  3. 使用 Snap 安装 Certbot。

    $ sudo snap install --classic certbot
    
  4. 将 Certbot 链接到 /usr/bin.

    $ sudo ln -s /snap/bin/certbot /usr/bin/certbot
    

2.安装证书

certbot 安装证书。 完整示例如下,这里是命令行选项的描述:

  • –阿帕奇
    • 使用 Apache 网络服务器
  • –nginx
    • 使用 nginx 网络服务器
  • –重定向
    • 将所有 HTTP 请求重定向到 HTTPS。
  • -d example.com -d www.example。和
    • 安装多域 (SAN) 证书。 您最多可以使用 100 -d 域 条目。
  • -m [email protected]。和
    • 此证书的通知电子邮件地址。
  • –同意
    • 同意服务条款。

certbot --help 想要查询更多的信息。 见 Certbot 常见问题 有关 SAN 证书的更多信息。

例子: Apache

运行 Certbot Apache.

# certbot --apache --redirect -d example.com -d www.example.com -m [email protected] --agree-tos

示例:Nginx

  1. 在运行 Certbot 之前,请确保 服务器名称 设置正确。 编辑您的 Nginx 配置:

    # nano /etc/nginx/conf.d/default.conf
    
  2. 更新 服务器名称 包括您的域名。

    server {
        server_name  example.com www.example.com;
    
  3. Save 并退出文件。

  4. 为 Nginx 运行 Certbot。

    # certbot --nginx --redirect -d example.com -d www.example.com -m [email protected] --agree-tos
    

3. 验证自动续订

Let’s Encrypt 证书的有效期为 90 天。 Certbot 向导更新 systemd 计时器和 crontab 以自动更新您的证书。

  1. 验证计时器是否处于活动状态。

    # systemctl list-timers | grep 'certbot|ACTIVATES'
    
  2. 验证 crontab 条目是否存在。

    # ls -l /etc/cron.d/certbot
    
  3. 通过试运行验证更新过程是否有效。

    # certbot renew --dry-run
    

概括

使用 Certbot 安装免费的 Let’s Encrypt 证书很简单。 有关更多信息,请参阅 官方 Certbot 安装 文档。

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com

相关阅读:

Posted in: LinuxTags: , ,