

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 上使用 HTTPS 保護您的 WordPress 網站 Lightsail
<a name="amazon-lightsail-enabling-https-on-wordpress"></a>

為您的 WordPress 網站啟用超文字傳輸通訊協定安全 (HTTPS)，可向訪客確保您的網站是安全網站；其正在傳送和接收加密資料。非安全網站的地址開頭為 `http`，例如 `http://example.com`，而安全網站的地址開頭為 `https`，例如 `https://example.com`。即使您的網站主要為參考資訊，仍建議您啟用 HTTPS。這是因為若未啟用 HTTPS，大多數網頁瀏覽器都會通知網站訪客您的網站不安全，且您的網站在搜尋引擎結果中的排名也會較低。

**提示**  
Lightsail 提供引導式工作流程，可自動在 WordPress 執行個體上安裝和設定 SSL/TLS Let's Encrypt 憑證。我們強烈建議您使用工作流程，而不是遵循本教學課程中的手動步驟。如需詳細資訊，請參閱[啟動和設定 WordPress 執行個體](amazon-lightsail-tutorial-launching-and-configuring-wordpress.md)。

本指南會說明如何使用 Bitnami HTTPS 組態工具 (`bncert`) 在 Amazon Lightsail 的 *Bitnami 認證* WordPress 執行個體上啟用 HTTPS。其可讓您在提出請求時，僅為指定的網域和子網域請求憑證。或者，您可以使用 Certbot 工具，其可讓您為網域請求憑證，以及為子網域請求萬用字元憑證。萬用字元憑證適用於網域的*任何*子網域，如果您不知道將使用哪些子網域將流量引導至執行個體，這將有所助益。但是，Certbot 不會像 `bncert` 工具一樣自動更新您的憑證。如果您使用 Certbot，就必須每 90 天手動更新您的憑證。如需有關使用 Certbot 啟用 HTTPS 的詳細資訊，請參閱[教學課程：搭配使用 Let's Encrypt SSL 憑證與 WordPress 執行個體](amazon-lightsail-using-lets-encrypt-certificates-with-wordpress.md)。

**內容**
+ [步驟 1：了解程序](#https-process-wordpress)
+ [步驟 2：完成事前準備](#https-prerequisites-wordpress)
+ [步驟 3：連接到您的執行個體](#https-wordpress-connect-to-instance)
+ [步驟 4：確認您的執行個體已安裝 bncert 工具](#https-wordpress-bncert-install)
+ [步驟 5：在 WordPress 執行個體上啟用 HTTPS](#https-wordpress-enable)
+ [步驟 6：測試您的網站是否使用 HTTPS](#test-https-on-your-website)

## 步驟 1：了解程序
<a name="https-process-wordpress"></a>

**注意**  
在本節中，您將了解該程序的高階概觀。執行此程序的特定步驟包含於本指南的後續步驟中。

若要為您的 WordPress 網站啟用 HTTPS，請使用 SSH 連接至 Lightsail 執行個體，並使用 `bncert` 工具向 [Let's Encrypt](https://letsencrypt.org/about/) 憑證授權機構請求 SSL/TLS 憑證。在您請求憑證時，可以指定網站的主要網域 (`example.com`) 和替代網域 (`www.example.com`、`blog.example.com` 等) (如果有)。Let's Encrypt 會驗證您是否擁有網域，方法是要求您在網域的 DNS 中建立 TXT 記錄，或是驗證這些網域是否已將流量引導至您從中提出請求之執行個體的公有 IP 地址。

驗證憑證後，您可以設定 WordPress 網站以將訪客從 HTTP 自動重新引導至 HTTPS (`http://example.com` 會重新引導至 `https://example.com`)，以強制訪客使用加密的連線。您也可以設定網站以將 `www` 子網域自動重新引導至網域的頂點 (`https://www.example.com` 會重新引導至 `https://example.com`)，或反之亦然 (`https://example.com` 會重新引導至 `https://www.example.com`)。這些重新引導也是使用 `bncert` 工具來設定。

Let's Encrypt 會要求您每 90 天更新一次憑證，以維護網站上的 HTTPS。`bncert` 工具會自動為您更新憑證，讓您可以有更多時間專注於網站。

**bncert 工具的限制**

`bncert` 工具具有下列限制：
+ 在建立時，未預先安裝在所有 *Bitnami 認證*的 WordPress 執行個體上。一段時間前在 Lightsail 上建立的 WordPress 執行個體會要求您手動安裝 `bncert` 工具。本指南的步驟 4 會說明如何確認是否已在您的執行個體上安裝該工具，以及未安裝時，如何安裝它。
+ 當您提出請求時，只能請求指定的域和子域的憑證。這與 Certbot 工具不同，該工具可讓您為網域請求憑證，以及為子網域請求萬用字元憑證。萬用字元憑證適用於網域的*任何*子網域，如果您不知道將使用哪些子網域將流量引導至執行個體，這將有所助益。但是，Certbot 不會像 `bncert` 工具一樣自動更新您的憑證。如果您使用 Certbot，就必須每 90 天手動更新您的憑證。如需有關使用 Certbot 啟用 HTTPS 的詳細資訊，請參閱[教學課程：在 Amazon Lightsail 中搭配使用 Let's Encrypt SSL 憑證與 WordPress 執行個體](amazon-lightsail-using-lets-encrypt-certificates-with-wordpress.md)。

## 步驟 2：完成事前準備
<a name="https-prerequisites-wordpress"></a>

請先完成事前準備 (若尚未完成)：
+ 在 Lightsail 中建立 WordPress 執行個體，並在執行個體上設定您的網站。如需詳細資訊，請參閱[在 Amazon Lightsail 中開始使用 Linux/Unix 型執行個體](getting-started-with-amazon-lightsail.md)。
+ 將 靜態 IP 連接至執行個體。如果您停止和啟動執行個體，執行個體的公有 IP 地址將會改變。停止並啟動執行個體時，靜態 IP 不會變更。如需詳細資訊，請參閱[建立靜態 IP 地址並將它連接至 Amazon Lightsail 中的執行個體](lightsail-create-static-ip.md)。
+ 完成執行個體的設定後，請建立 WordPress 執行個體的快照，或啟用自動快照。快照可用作備份，您可從中建立另一個執行個體，以防原始執行個體發生問題。如需詳細資訊，請參閱[建立 Linux 或 Unix 執行個體的快照](lightsail-how-to-create-a-snapshot-of-your-instance.md)或[在 Amazon Lightsail 中為執行個體或磁碟啟用或停用自動快照](amazon-lightsail-configuring-automatic-snapshots.md)。
+ 將 DNS 記錄新增至網域的 DNS，以將網域 (`example.com`) 的頂點以及 `www` 子網域 (`www.example.com`) 的流量引導至 Lightsail 中 WordPress 執行個體的公有 IP 地址。您可以在網域目前的 DNS 託管提供者處完成這些動作。或者，如果您將網域 DNS 管理傳輸至 Lightsail，您便可使用 Lightsail 中的 DNS 區域完成這些動作。若要進一步了解，請參閱 [DNS](understanding-dns-in-amazon-lightsail.md)。
**重要**  
將 DNS 記錄新增至您希望與 WordPress 網站搭配使用之所有網域的 DNS。所有這些網域應會將流量路由至 WordPress 網站的公有 IP 地址。`bncert` 工具僅會為目前將流量引導至 WordPress 執行個體之公有 IP 地址的網域核發憑證。

## 步驟 3：連接到您的執行個體
<a name="https-wordpress-connect-to-instance"></a>

請完成以下步驟，在 Lightsail 主控台中使用瀏覽器型 SSH 用戶端連接到執行個體。

1. 登入 [Lightsail 主控台](https://lightsail.aws.amazon.com/)。

1. 在左側導覽窗格中，選擇 WordPress 執行個體的 SSH 快速連線圖示。  
![\[Lightsail 首頁的 SSH 快速連接。\]](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/amazon-lightsail-wordpress-ssh-quick-connect.png)

   瀏覽器型 SSH 用戶端終端機視窗將會開啟。如果您看到 Bitnami 標誌 (如以下範例所示)，即表示已透過 SSH 成功連接到執行個體。  
![\[Lightsail 主控台中瀏覽器型 SSH 用戶端終端機視窗。\]](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/amazon-lightsail-ssh-session-bncert.png)

## 步驟 4：確認您的執行個體已安裝 bncert 工具
<a name="https-wordpress-bncert-install"></a>

請完成以下步驟，以確保 Bitnami HTTPS 組態工具 (`bncert`）已安裝在您的執行個體上。在建立時，未預先安裝在所有 *Bitnami 認證*的 WordPress 執行個體上。一段時間前在 Lightsail 上建立的 WordPress 執行個體會要求您手動安裝 `bncert` 工具。此程序包含安裝工具的步驟 (若尚未安裝)。



1. 輸入下列命令以執行 `bncert` 工具。

   ```
   sudo /opt/bitnami/bncert-tool
   ```
   + 如果您在回應中看到 `command not found`，如下列範例所示，則表示 `bncert` 工具尚未安裝在您的執行個體上。繼續此程序的下一個步驟以將 `bncert` 工具安裝在您的執行個體上。
**重要**  
`bncert` 工具僅能用於 *Bitnami 認證*的 WordPress 執行個體上。或者，您可以使用 Certbot 工具在 WordPress 執行個體上啟用 HTTPS。如需詳細資訊，請參閱[教學課程：搭配使用 Let's Encrypt SSL 憑證與 WordPress 執行個體](amazon-lightsail-using-lets-encrypt-certificates-with-wordpress.md)。  
![\[確認尚未安裝 bncert 工具的訊息\]](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/run-bncert-tool-fail.png)
   + 如果您在回應中看到 `Welcome to the Bitnami HTTPS configuration tool`，如下列範例所示，則表示 `bncert` 工具已安裝在您的執行個體上。繼續前往本指南的[步驟 5：在 WordPress 執行個體上啟用 HTTPS](#https-wordpress-enable) 章節。  
![\[確認已安裝 bncert 工具的訊息\]](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/run-bncert-tool-success.png)

1. 輸入以下命令以下載 `bncert` 執行檔案至您的執行個體。

   ```
   wget -O bncert-linux-x64.run https://downloads.bitnami.com/files/bncert/latest/bncert-linux-x64.run
   ```

1. 輸入以下命令以便為執行個體上的 `bncert` 執行檔案建立目錄。

   ```
   sudo mkdir /opt/bitnami/bncert
   ```

1. 輸入以下命令以將已下載的 `bncert` 執行檔案移至所建立的新目錄。

   ```
   sudo mv bncert-linux-x64.run /opt/bitnami/bncert/
   ```

1. 輸入以下命令以讓 `bncert` 執行可作為程式執行的檔案。

   ```
   sudo chmod +x /opt/bitnami/bncert/bncert-linux-x64.run
   ```

1. 輸入以下命令以在您輸入 `sudo /opt/bitnami/bncert-tool` 命令時建立執行 `bncert` 工具的符號連結。

   ```
   sudo ln -s /opt/bitnami/bncert/bncert-linux-x64.run /opt/bitnami/bncert-tool
   ```

   您現已在執行個體上安裝 `bncert` 工具。繼續前往本指南的[步驟 5：在 WordPress 執行個體上啟用 HTTPS](#https-wordpress-enable) 章節。

## 步驟 5：在 WordPress 執行個體上啟用 HTTPS
<a name="https-wordpress-enable"></a>

完成下列程序，在您確認已將 `bncert` 工具安裝至執行個體上後，於 WordPress 執行個體上啟用 HTTPS。

1. 輸入下列命令以執行 `bncert` 工具。

   ```
   sudo /opt/bitnami/bncert-tool
   ```

   這時應該會出現類似以下範例的訊息。  
![\[執行 Bncert 工具\]](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/run-bncert-tool-success.png)

   如果 `bncert` 工具已安裝至您的執行個體上一段時間，則您可能會看到說明該工具已有可用更新版本的訊息。如下列範例所示，選擇下載該工具，然後輸入 `sudo /opt/bitnami/bncert-tool` 命令以再次執行 `bncert` 工具。  
![\[指出 bncert 工具有可用新版本的訊息\]](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/bncert-update-required.png)

1. 輸入主要網域名稱和替代網域名稱，並以空格分隔，如以下範例所示。

   如果您的網域未設為將流量路由至執行個體的公有 IP 地址，則 `bncert` 工具會要求您進行該設定，然後再繼續操作。您的網域必須將流量路由至執行個體的公有 IP 地址，而您需從該地址使用 `bncert` 工具來在執行個體上啟用 HTTPS。此舉措會確認您擁有該網域，並以此作為憑證的驗證。  
![\[輸入主要和替代網域名稱\]](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/bncert-domain-names.png)

1. `bncert` 工具會詢問您要如何設定網站的重新引導。可用的選項如下：
   + **Enable HTTP to HTTPS redirection** (啟用 HTTP 至 HTTPS 重新引導) - 指定將瀏覽至網站 HTTP 版本 (即 `http:/example.com`) 的使用者自動重新引導至 HTTPS 版本 (即 `https://example.com`)。由於此選項會強制所有訪客使用加密的連線，建議啟用此選項。輸入 `Y`，並按 **Enter** 以啟用。
   + **Enable non-www to www redirection** (啟用非 www 至 www 重新引導) - 指定將瀏覽至網域 (即 `https://example.com`) 頂點的使用者自動重新引導至您網域的 `www` 子網域 (即 `https://www.example.com`)。建議啟用此選項。不過，如果您已在搜索引擎工具 (如 Google 的網站管理員工具) 中將網域的頂點指定為您偏好的網站地址，或者如果您的頂點直接指向 IP，且 `www` 子網域透過 CNAME 記錄參考您的頂點，則您可能需要停用此選項並啟用替代選項 (啟用 `www` 至非 `www` 重新引導)。輸入 `Y`，並按 **Enter** 以啟用。
   + **Enable www to non-www redirection** (啟用 www 至非 www 重新引導) - 指定將瀏覽至您網域 `www` 子網域 (即 `https://www.example.com`) 的使用者自動重新引導至網域的頂點 (即 `https://example.com`)。如果您已啟用非 `www` 重新引導至 `www`，我們建議您停用此選項。輸入 `N`，並按 **Enter** (確認) 以停用。

   您的選取內容應看起來與下列範例類似。  
![\[網站重新引導選項\]](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/bncert-enable-disable-redirection.png)

1. 系統會列出即將進行的變更。輸入 `Y`，並按 **Enter** (確認) 以確認並繼續。  
![\[確認變更\]](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/bncert-confirm-changes.png)

1. 輸入您的電子郵件地址，以與您的 Let's Encrypt 憑證相關聯，然後按 **Enter**。  
![\[將您的電子郵件地址與 Let's Encrypt 憑證相關聯\]](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/bncert-email-address.png)

1. 檢閱 Let's Encrypt 訂閱者協議。輸入 `Y`，並按 **Enter** (確認) 以接受該協議並繼續。  
![\[檢閱《Let's Encrypt 訂閱者協議》\]](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/bncert-lets-ecrypt-agreement.png)

   執行這些動作是為了在執行個體上啟用 HTTPS，包括請求憑證和設定您指定的重新引導。  
![\[正在執行的動作\]](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/bncert-performing-actions.png)

   系統已成功核發並驗證您的憑證，如果您看到類似以下範例的訊息，則表示已成功在執行個體上設定重新引導。  
![\[動作已成功完成\]](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/bncert-success-conf.png)

   `bncert` 工具會在憑證過期前每 80 天執行自動續約一次。如果您要搭配執行個體使用其他網域和子網域，且要為這些網域啟用 HTTPS，請重複上述步驟。

   您現在已在 WordPress 執行個體例上啟用 HTTPS。繼續前往本指南的[步驟 6：測試您的網站是否使用 HTTPS](#test-https-on-your-website) 章節。

## 步驟 6：測試您的網站是否使用 HTTPS
<a name="test-https-on-your-website"></a>

在您於 WordPress 執行個體上啟用 HTTPS 之後，應在使用 `bncert` 工具時，透過瀏覽至您指定的所有網域來確認網站在使用 HTTPS。在您前往每個網域時，應會看到其使用安全連線，如以下範例所示。

**注意**  
您可能必須重新整理，並清除瀏覽器的快取才能查看變更。

![\[確認網站獲得安全保障\]](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/bncert-secured-website.png)


依據您在執行 `bncert` 工具時選取的選項而定，您可能還注意到非 `www` 地址會重新引導至您網域的 `www` 子網域，反之亦然。