📜  在 aws ec2 实例 ubuntu 上安装 ssl 证书 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:50:51.473000             🧑  作者: Mango

在 AWS EC2 实例 Ubuntu 上安装 SSL 证书

SSL 证书可以帮助您的网站获得更高的安全性和信任度。在 AWS EC2 实例上使用 SSL 证书也十分方便,在这篇文章中,我们将会详细介绍如何在 AWS EC2 实例 Ubuntu 上安装 SSL 证书。

准备工作

在开始之前,您需要准备以下内容:

  • 一个有效的域名,可以使用 AWS Route 53 进行域名管理,也可以使用其他域名服务商管理。如果您使用的是其他域名服务商,需要自行配置 DNS 解析记录,将域名解析到您的 EC2 实例。
  • 在 AWS EC2 控制台中创建一台 Ubuntu 实例。如果您不知道如何创建 EC2 实例,您可以查看 AWS 官方文档 进行参考。
  • 以 SSH 方式连接到您创建的 EC2 实例。如果您不知道如何连接 EC2 实例,您可以查看 AWS 官方文档 进行参考。
安装 Certbot

Certbot 是一个自动化 SSL 证书管理工具,可以帮助您快速安装和更新 SSL 证书。在 Ubuntu 上安装 Certbot 非常简单,只需运行以下命令即可:

sudo apt-get update
sudo apt-get install certbot
获取 SSL 证书

在安装 Certbot 完成后,您需要运行以下命令来获取 SSL 证书:

sudo certbot certonly --standalone -d example.com -d www.example.com

上述命令将会获取一个有效期为 90 天的 SSL 证书,并将证书保存在 /etc/letsencrypt/live/example.com/ 路径下。其中,example.com 是您准备使用 SSL 证书的域名,如果您有多个域名需要使用 SSL 证书,请使用 -d 参数指定。例如上述命令中指定了 example.comwww.example.com

在运行上述命令时,Certbot 将会使用 Standalone 模式,此时 Certbot 会停止您的 Web 服务器并开启一个临时的 Web 服务器提供验证。如果您的 Web 服务器是使用 Nginx 或 Apache 等方式搭建的,您可以使用 Nginx 或 Apache 模式运行 Certbot 进行 SSL 证书获取。

配置 Web 服务器

获取 SSL 证书后,您需要将 SSL 证书配置到您的 Web 服务器中。

配置 Nginx

如果您的 Web 服务器是使用 Nginx 搭建的,您需要在 Nginx 配置文件中添加以下配置:

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    server_name example.com www.example.com;

    ssl_certificate       /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key   /etc/letsencrypt/live/example.com/privkey.pem;

    # Other SSL settings...
}

然后,运行以下命令重启 Nginx:

sudo service nginx restart

现在,您的网站已经启用了 SSL,您可以使用 HTTPS 方式访问您的网站了。

配置 Apache

如果您的 Web 服务器是使用 Apache 搭建的,您需要在 Apache 配置文件中添加以下配置:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    Redirect / https://example.com/
</VirtualHost>

<VirtualHost *:443>
    ServerName example.com
    ServerAlias www.example.com

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem

    # Other SSL settings...
</VirtualHost>

然后,运行以下命令重启 Apache:

sudo service apache2 restart

现在,您的网站已经启用了 SSL,您可以使用 HTTPS 方式访问您的网站了。

配置自动更新

SSL 证书的有效期只有 90 天,因此需要定期更新。幸运的是,Certbot 可以通过自动化操作来更新您的 SSL 证书。

要配置自动更新,您可以将以下命令添加到 Cron 定时任务中,以在证书过期前的任何时间运行 Certbot:

sudo certbot renew --dry-run

在运行上述命令后,Certbot 将会自动检查并更新您所有的 SSL 证书。如果您的 SSL 证书即将过期,Certbot 还会自动更新证书,并重新加载您的 Web 服务器。

结论

在 AWS EC2 实例 Ubuntu 上安装 SSL 证书非常容易,只需按照本文所述的步骤操作即可。在配置 SSL 证书时,请务必保证您的网站具有足够的安全性和可靠性,以确保用户的隐私和个人信息的安全。