跳至内容

如何在 Amazon EC2 Linux Ubuntu 实例上为我的网站安装 SSL/TLS 证书?

2 分钟阅读
0

我想在托管 Apache 服务器的 Amazon Elastic Compute Cloud (Amazon EC2) Ubuntu 实例上安装自签名 SSL/TLS 证书。

解决方案

**先决条件:**确保实例的安全组允许端口 80 和 443 上的流量

安装 Apache 和 OpenSSL Web 服务器

要在您的服务器上安装 Apache 和 OpenSSL,请运行以下命令:

sudo apt-get install apache2 openssl -y

生成自签名证书

完成以下步骤:

  1. SSL/TLS 同时使用公钥和私钥。要为您的域创建私钥和证书签名请求 (CSR),请运行以下命令:

     sudo openssl req -nodes -newkey rsa:2048 -keyout /etc/ssl/private/private.key -out /etc/ssl/private/request.csr
  2. 要生成 SSL/TLS 证书,请运行以下命令:

     sudo openssl x509 -in /etc/ssl/private/request.csr -out /etc/ssl/private/certificate.crt -req -signkey /etc/ssl/private/private.key -days 365

现在,您可以在 Apache Web 服务器上使用密钥文件 (private.key) 和证书文件 (certificate.crt)。

将 Apache 配置为使用 SSL/TLS

要将 Apache 配置为使用您创建的自签名证书,请完成以下步骤:

  1. 运行以下命令以打开默认 Apache SSL 配置文件:

    sudo vi /etc/apache2/sites-available/default-ssl.conf
  2. 使用以下路径定义 SSL 证书的位置:
    对于 SSLCertificateFile,请使用 /etc/ssl/private/certificate.crt
    对于 SSLCertificateKeyFile,请使用 /etc/ssl/private/private.key

  3. 保存并关闭该文件。然后,运行以下命令以激活虚拟主机文件:

    sudo a2ensite default-ssl.conf
  4. 要打开 Apache 的默认虚拟主机配置文件,请运行以下命令:

    sudo vi /etc/apache2/sites-available/000-default.conf
  5. 要向您的域名添加重定向,请将以下行添加到 etc/apache2/sites-available/000-default.conf 中:

    Redirect "/" https://Server-IP

    **注意:**请将 Server-IP 替换为您的服务器 IP 地址。最佳做法是在 DocumentRoot 行之后输入前一行。重定向会将所有流量转发到网站的 SSL/TLS 版本。

  6. 要激活 SSL/TLS 和标头模块,请运行以下命令:

    sudo a2enmod ssl
    sudo a2enmod headers
  7. 运行以下命令以重新加载 Apache 服务并应用修改:

    sudo systemctl reload apache2

验证您的 SSL/TLS 服务器

完成以下步骤:

  1. 启动您的 Web 浏览器。
  2. 打开 https://Server-IP
    **注意:**请将 Server-IP 替换为您的服务器 IP 地址。Web 浏览器会将您重定向到警告页面。出现此行为是因为您的证书未经受信任的证书颁发机构签名。
  3. 选择 Proceed to Host(继续访问主机)以打开 Apache 主页。浏览器地址栏中会出现一个显示不安全的锁。这表明该证书未经过验证,但会对您的连接进行加密。

有关如何在 Red Hat Enterprise Linux (RHEL) 或 Community Enterprise Linux 上配置 SSL/TLS 的信息,请参阅 Red Hat 网站上的 Setting up a webserver to use HTTPS(设置 Web 服务器以使用 HTTPS)。或者,如果您使用的是 Amazon Linux,请查看 Amazon Linux 1 (AL1)Amazon Linux 2 (AL2)Amazon Linux 2023 (AL2023) 的 SSL/TLS 配置。

AWS 官方已更新 4 个月前