跳至內容

如何在我的 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

現在您可以將金鑰 (private.key) 和憑證 (certificate.crt) 檔案與 Apache Web 伺服器一起使用。

設定 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 網站上的設定網頁伺服器以使用 HTTPS。或者,如果您使用 Amazon Linux,請參閱 Amazon Linux 1 (AL1) Amazon Linux 2 (AL2) Amazon Linux 2023 (AL2023) 的 SSL/TLS 組態。

AWS 官方已更新 4 個月前