本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS CloudHSM Linux 上使用 NGINX 或 HAProxy 搭配 OpenSSL 提供者的 SSL/TLS 卸載
本主題提供step-by-step說明。 AWS CloudHSM HAProxy OpenSSL
概觀
在 Linux 上,NGINX
若要完成本教學課程,您將設定 NGINX 或 HAProxy 使用 AWS CloudHSM OpenSSL 提供者。本教學課程說明如何執行下列動作:
-
在 Amazon EC2 執行個體上安裝 Web 伺服器軟體。
-
將 Web 伺服器軟體設定為使用儲存在 AWS CloudHSM 叢集中的私有金鑰來支援 HTTPS。
-
(選用) 使用 Amazon EC2 建立第二個 Web 伺服器執行個體,并使用 Elastic Load Balancing 建立負載平衡器。使用負載平衡器可將負載分散到多部伺服器,進而提升效能。它也可以在一或多個伺服器失敗時提供備援和高可用性。
當您準備好開始時,請移至步驟 1:設定先決條件。
步驟 1:設定先決條件
不同平台需要不同的先決條件。請使用下方符合您平台的先決條件區段。
AWS CloudHSM OpenSSL 提供者的先決條件
若要使用適用於用戶端 SDK 5 的 AWS CloudHSM OpenSSL 供應商設定 Web 伺服器 SSL/TLS 伺服器身分卸載,您需要下列項目:
-
具有至少兩個硬體安全模組 (HSM) 的作用中 AWS CloudHSM 叢集
注意
您可以使用單一 HSM 叢集,但必須先停用用戶端金鑰耐久性。如需詳細資訊,請參閱管理用戶端金鑰耐久性設定和用戶端 SDK 5 設定工具。
-
執行 Linux 作業系統的 Amazon EC2 執行個體,其中已安裝下列軟體:
-
Web 伺服器 (NGINX 或 HAProxy)
-
用戶端 SDK 5 的 AWS CloudHSM OpenSSL 提供者
-
-
加密使用者 (CU),擁有及管理 HSM 上 Web 伺服器的私有金鑰。
設定 Linux Web 伺服器執行個體,並在 HSM 上建立 CU
注意
此程序中的許多命令都需要更高的權限。視您的系統組態而定,您可能需要以 sudo或 做為根使用者來執行命令。
-
安裝和設定適用於用戶端 SDK 5 的 AWS CloudHSM OpenSSL 提供者。如需安裝 OpenSSL 提供者的詳細資訊,請參閱適用於AWS CloudHSM 用戶端 SDK 5 的 OpenSSL 提供者。
-
在可存取叢集的 EC2 Linux 執行個體上,安裝 NGINX 或 HAProxy Web 伺服器:
-
使用 CloudHSM CLI 建立加密使用者。如需關於管理 HSM 使用者的詳細資訊,請參閱使用 CloudHSM CLI 管理 HSM 使用者。
提示
保持追蹤 CU 使用者名稱和密碼。之後在為您的 Web 伺服器產生或匯入 HTTPS 私有金鑰和憑證時,您將會需要該資訊。
完成這些步驟之後,請移至 步驟 2:產生或匯入私有金鑰並取得憑證。
備註
-
若要使用 Security-Enhanced Linux (SELinux) 和 Web 伺服器,您必須在連接埠 2223 上允許傳出 TCP 連線,也就是用戶端 SDK 5 用來與 HSM 通訊的連接埠。
-
若要建立和啟用叢集並授予 EC2 執行個體存取叢集的權限,請完成AWS CloudHSM入門中的步驟。入門提供使用 HSM 和 Amazon EC2 用戶端執行個體建立作用中叢集的逐步說明。可以使用此用戶端執行個體做為 Web 伺服器。
-
若要避免停用用戶端金鑰耐久性,請在叢集中新增多個 HSM。如需詳細資訊,請參閱將 HSM 新增至 AWS CloudHSM 叢集。
-
要連接到用戶端執行個體,可以使用 SSH 或 PuTTY。如需詳細資訊,請參閱 Amazon EC2 文件中的使用 SSH 連接至您的 Linux 執行個體或使用 PuTTY 從 Windows 連接至您的 Linux 執行個體。
步驟 2:產生或匯入私有金鑰並取得憑證
若要啟用 HTTPS,您的 Web 伺服器應用程式 (NGINX 或 HAProxy) 需要私有金鑰和對應的 SSL/TLS 憑證。若要搭配 使用 Web 伺服器 SSL/TLS 伺服器身分卸載 AWS CloudHSM,您必須將私有金鑰存放在 AWS CloudHSM 叢集的 HSM 中。您會先產生私有金鑰,並使用金鑰來建立憑證簽署請求 (CSR)。您接著會從 HSM 匯出仿造 PEM 私有金鑰,這是 PEM 格式的私有金鑰檔案,其中包含 HSM 上存放之私有金鑰的參考 (這不是實際的私有金鑰)。在 SSL/TLS 伺服器身分卸載期間,您的 Web 伺服器會使用仿造 PEM 私有金鑰檔案來識別 HSM 上的私有金鑰。
產生私有金鑰
本節說明如何使用 CloudHSM CLI 產生金鑰對。一旦您在 HSM 內產生金鑰對,您就可以將其匯出為仿造 PEM 檔案,並產生對應的憑證。
安裝和設定 CloudHSM CLI
-
安裝和設定 CloudHSM CLI。
-
使用以下命令啟動 CloudHSM CLI。
$/opt/cloudhsm/bin/cloudhsm-cli interactive -
執行以下命令來登入 HSM。將
<user name>取代為您的 crypto-user 的使用者名稱aws-cloudhsm>login --username<user name>--role crypto-user
產生私有金鑰
根據您的使用案例,您可以產生 RSA 或 EC 金鑰對。執行以下任意一項:
-
在 HSM 上產生 RSA 私有金鑰
使用 key generate-asymmetric-pair rsa 命令來產生 RSA 金鑰對。此範例會產生一個 RSA 金鑰對,其模數為 2048、公有指數為 65537、公有金鑰標籤為
tls_rsa_pub,以及私有金鑰標籤為tls_rsa_private。aws-cloudhsm >key generate-asymmetric-pair rsa \ --public-exponent 65537 \ --modulus-size-bits 2048 \ --public-label tls_rsa_pub \ --private-label tls_rsa_private \ --private-attributes sign=true{ "error_code": 0, "data": { "public_key": { "key-reference": "0x0000000000280cc8", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [], "cluster-coverage": "full" }, "attributes": { "key-type": "rsa", "label": "tls_rsa_pub", "id": "", "check-value": "0x01fe6e", "class": "public-key", "encrypt": true, "decrypt": false, "token": true, "always-sensitive": false, "derive": false, "destroyable": true, "extractable": true, "local": true, "modifiable": true, "never-extractable": false, "private": true, "sensitive": false, "sign": false, "trusted": false, "unwrap": false, "verify": false, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 512, "public-exponent": "0x010001", "modulus": "0xb1d27e857a876f4e9fd5de748a763c539b359f937eb4b4260e30d1435485a732c878cdad9c72538e2215351b1d41358c9bf80b599c73a80fdb457aa7b20cd61e486c326e2cfd5e124a7f6a996437437812b542e3caf85928aa866f0298580f7967ee6aa01440297d7308fdd9b76b70d1b67f12634df6e6296d6c116d5744c6d60d14d3bf3cb978fe6b75ac67b7089bafd50d8687213b31abc7dc1bad422780d29c851d5102b56f932551eaf52a9591fd8c43d81ecc133022653225bd129f8491101725e9ea33e1ded83fb57af35f847e532eb30cd7e726f23910d2671c6364092e834697ec3cef72cc23615a1ba7c5e100156ae0acac3160f0ca9725d38318b7", "modulus-size-bits": 2048 } }, "private_key": { "key-reference": "0x0000000000280cc7", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [], "cluster-coverage": "full" }, "attributes": { "key-type": "rsa", "label": "tls_rsa_private", "id": "", "check-value": "0x01fe6e", "class": "private-key", "encrypt": false, "decrypt": true, "token": true, "always-sensitive": true, "derive": false, "destroyable": true, "extractable": true, "local": true, "modifiable": true, "never-extractable": false, "private": true, "sensitive": true, "sign": true, "trusted": false, "unwrap": false, "verify": false, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 1217, "public-exponent": "0x010001", "modulus": "0xb1d27e857a876f4e9fd5de748a763c539b359f937eb4b4260e30d1435485a732c878cdad9c72538e2215351b1d41358c9bf80b599c73a80fdb457aa7b20cd61e486c326e2cfd5e124a7f6a996437437812b542e3caf85928aa866f0298580f7967ee6aa01440297d7308fdd9b76b70d1b67f12634df6e6296d6c116d5744c6d60d14d3bf3cb978fe6b75ac67b7089bafd50d8687213b31abc7dc1bad422780d29c851d5102b56f932551eaf52a9591fd8c43d81ecc133022653225bd129f8491101725e9ea33e1ded83fb57af35f847e532eb30cd7e726f23910d2671c6364092e834697ec3cef72cc23615a1ba7c5e100156ae0acac3160f0ca9725d38318b7", "modulus-size-bits": 2048 } } } } -
在 HSM 上產生 EC 私有金鑰
使用 key generate-asymmetric-pair ec 命令來產生 EC 金鑰對。此範例會產生 EC 金鑰對與
prime256v1曲線 (對應至NID_X9_62_prime256v1曲線)、tls_ec_pub的公有金鑰標籤,以及tls_ec_private的私有金鑰標籤。aws-cloudhsm >key generate-asymmetric-pair ec \ --curve prime256v1 \ --public-label tls_ec_pub \ --private-label tls_ec_private \ --private-attributes sign=true{ "error_code": 0, "data": { "public_key": { "key-reference": "0x000000000012000b", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [], "cluster-coverage": "session" }, "attributes": { "key-type": "ec", "label": "tls_ec_pub", "id": "", "check-value": "0xd7c1a7", "class": "public-key", "encrypt": false, "decrypt": false, "token": false, "always-sensitive": false, "derive": false, "destroyable": true, "extractable": true, "local": true, "modifiable": true, "never-extractable": false, "private": true, "sensitive": false, "sign": false, "trusted": false, "unwrap": false, "verify": false, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 57, "ec-point": "0x047096513df542250a6b228fd9cb67fd0c903abc93488467681974d6f371083fce1d79da8ad1e9ede745fb9f38ac8622a1b3ebe9270556000c", "curve": "secp224r1" } }, "private_key": { "key-reference": "0x000000000012000c", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [], "cluster-coverage": "session" }, "attributes": { "key-type": "ec", "label": "tls_ec_private", "id": "", "check-value": "0xd7c1a7", "class": "private-key", "encrypt": false, "decrypt": false, "token": false, "always-sensitive": true, "derive": false, "destroyable": true, "extractable": true, "local": true, "modifiable": true, "never-extractable": false, "private": true, "sensitive": true, "sign": true, "trusted": false, "unwrap": false, "verify": false, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 122, "ec-point": "0x047096513df542250a6b228fd9cb67fd0c903abc93488467681974d6f371083fce1d79da8ad1e9ede745fb9f38ac8622a1b3ebe9270556000c", "curve": "secp224r1" } } } }
匯出仿造的 PEM 私有金鑰檔案
HSM 上擁有私有金鑰後,您必須匯出仿造的 PEM 私有金鑰檔案。此檔案不包含實際的金鑰資料,但可讓 OpenSSL 動態引擎識別 HSM 上的私有金鑰。接著,您可以使用私有金鑰來建立憑證簽署要求 (CSR),簽署 CSR 來建立憑證。
使用 key generate-file命令以仿造 PEM 格式匯出私有金鑰,並將其儲存至 檔案。以您自己的值取代下列值。
-
<private_key_label>– 您在上一個步驟中產生的私有金鑰標籤。 -
<web_server_fake_pem.key>– 將寫入您仿造 PEM 金鑰的檔案名稱。
aws-cloudhsm >key generate-file --encoding reference-pem --path<web_server_fake_pem.key>--filter attr.label=<private_key_label>{ "error_code": 0, "data": { "message": "Successfully generated key file" } }
結束 CloudHSM CLI
執行下列命令來停止 CloudHSM CLI。
aws-cloudhsm >quit
您現在應該在系統上有一個新檔案,位於上述命令中 <web_server_fake_pem.key> 指定的路徑。此檔案是仿造的 PEM 私有金鑰檔案。
產生自簽憑證
產生仿造的 PEM 私有金鑰後,您可以使用此檔案來產生憑證簽署要求 (CSR) 和憑證。
在生產環境中,您通常會使用憑證授權單位 (CA) 從 CSR 建立憑證。測試環境不需要 CA。如果您確實使用 CA,請將 CSR 檔案發送給他們,並使用他們在 Web 伺服器中為您提供 HTTPS 的簽名 SSL/TLS 憑證。
除了使用 CA 之外,您也可以使用 AWS CloudHSM OpenSSL 動態引擎來建立自我簽署憑證。自簽憑證不受瀏覽器所信任,請勿用於生產環境。可以用於測試環境。
警告
自簽憑證應該只用於測試環境。若為生產環境,請使用更安全的方法 (例如憑證授權單位) 來建立憑證。
安裝和設定 OpenSSL 動態引擎
-
連接至您的用戶端執行個體。
產生憑證
-
取得先前步驟中產生的仿造的 PEM 檔案副本。
-
建立 CSR
執行下列命令,使用 AWS CloudHSM OpenSSL 動態引擎來建立憑證簽署請求 (CSR)。以包含您仿造 PEM 私有金鑰的檔案名稱取代
<web_server_fake_pem.key>。以包含 CSR 的檔案名稱取代<web_server.csr>。req是互動式命令。回應每個欄位。欄位資訊會複製到您的 SSL/TLS 憑證。注意
OpenSSL 提供者目前不支援建立 CSR。您必須使用 OpenSSL 引擎進行此步驟,但 TLS 密碼操作將與提供者搭配使用。
$openssl req -engine cloudhsm -new -key<web_server_fake_pem.key>-out<web_server.csr> -
建立自簽憑證
執行下列命令,使用 AWS CloudHSM OpenSSL 動態引擎在 HSM 上使用私有金鑰簽署 CSR。這會建立自簽憑證。在命令中,以您自己的值取代下列值。
-
<web_server.csr>:包含 CSR 的檔案名稱。 -
<web_server_fake_pem.key>– 包含仿造 PEM 私有金鑰的檔案名稱。 -
<web_server.crt>:包含 Web 伺服器憑證的檔案名稱。
$openssl x509 -engine cloudhsm -req -days 365 -in<web_server.csr>-signkey<web_server_fake_pem.key>-out<web_server.crt> -
在您擁有私有金鑰和憑證之後,請前往 步驟 3:設定 Web 伺服器。
步驟 3:設定 Web 伺服器
更新 Web 伺服器軟體組態,以使用 HTTPS 憑證以及您在 上一個步驟中建立的對應仿造 PEM 私有金鑰。請記得在開始之前備份現有的憑證和金鑰。這將完成設定 Linux Web 伺服器軟體以進行 SSL/TLS 伺服器身分卸載 AWS CloudHSM。
完成以下其中一個區段中的步驟。
設定 NGINX Web 伺服器
使用本節以 OpenSSL 提供者設定 NGINX。
為 OpenSSL 提供者設定 NGINX
-
連接至您的用戶端執行個體。
-
執行以下命令,為 Web 伺服器憑證和仿造 PEM 私有金鑰建立所需的目錄。
$mkdir -p /etc/pki/nginx/private -
執行以下命令,將您的 Web 伺服器憑證複製到所需的位置。以 Web 伺服器憑證的名稱取代
<web_server.crt>。$cp<web_server.crt>/etc/pki/nginx/server.crt -
執行以下命令,將您的仿造 PEM 私有金鑰複製到所需的位置。以包含您仿造 PEM 私有金鑰的檔案名稱取代
<web_server_fake_pem.key>。$cp<web_server_fake_pem.key>/etc/pki/nginx/private/server.key -
執行以下命令來變更檔案的擁有權,使得名為 nginx 的使用者可讀取這些檔案。
$chown nginx /etc/pki/nginx/server.crt /etc/pki/nginx/private/server.key -
設定 OpenSSL 以使用 AWS CloudHSM 提供者。如需設定 OpenSSL 提供者的詳細資訊,請參閱適用於AWS CloudHSM 用戶端 SDK 5 的 OpenSSL 提供者。
-
找到您的 OpenSSL 組態檔案:
$openssl version -d您應該會看到類似以下的輸出:
OPENSSLDIR: "/etc/pki/tls"組態檔案
openssl.cnf位於此目錄中。 -
注意
請勿直接修改系統的預設 openssl.cnf 檔案。這可防止整個系統的 OpenSSL 操作 (SSH、TLS 連線和其他服務) 意外地透過 CloudHSM 供應商路由。
使用單獨的組態檔案可讓您將 CloudHSM 提供者用量範圍限定為僅需要 HSM 支援密碼編譯操作的特定應用程式。
使用下列內容建立新的 OpenSSL 組態檔案:
$cat >## NOTE: This should point to the system default openssl config file. # Replace /etc/pki/tls with the path to your OpenSSL configuration directory .include<example-cloudhsm-openssl.cnf><< 'EOF'</etc/pki/tls>/openssl.cnf # Override the existing provider_section to include AWS CloudHSM OpenSSL Provider as a 3rd party OpenSSL provider [provider_sect] default = default_sect # Include AWS CloudHSM CloudHSM OpenSSL provider cloudhsm = cloudhsm_sect [default_sect] activate = 1 [cloudhsm_sect] activate = 1EOF -
請確定使用加密使用者 (CU) 登入資料設定
CLOUDHSM_PIN環境變數:$export CLOUDHSM_PIN=<username>:<password> -
設定
OPENSSL_CONF環境變數以指向更新的組態檔案,並確認已載入提供者:$OPENSSL_CONF=/path/to/example-cloudhsm-openssl.cnf openssl list -providers您應該會同時看到預設提供者和列出的 CloudHSM 提供者:
OPENSSL_CONF=/path/to/example-cloudhsm-openssl.cnf openssl list -providers Providers: default name: OpenSSL Default Provider version: 3.2.2 status: active cloudhsm name: AWS CloudHSM OpenSSL Provider version: 5.17.0 status: active
-
-
執行以下命令來備份
/etc/nginx/nginx.conf檔案。$cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup -
更新 NGINX 組態。
注意
每個叢集可以在所有 NGINX Web 伺服器上支持最多 1000 個 NGINX 工作者程序。
儲存檔案。
-
備份
systemd組態檔案,然後設定EnvironmentFile路徑。 -
檢查
/etc/sysconfig/nginx檔案是否存在,然後執行以下其中一項:-
如果檔案存在,請執行下列命令來備份檔案:
$cp /etc/sysconfig/nginx /etc/sysconfig/nginx.backup -
如果檔案不存在,請開啟文字編輯器,然後建立在
/etc/sysconfig/資料夾中建立名為nginx的檔案。
-
-
設定 NGINX 環境。
-
啟動 NGINX 伺服器。
設定 NGINX 之後,請前往 驗證 HTTPS 是否使用您已設定的憑證。
設定 HAProxy Web 伺服器
使用本節設定具有 OpenSSL 提供者的 HAProxy。下列範例示範如何使用 CloudHSM 憑證和金鑰設定 HAProxy。
設定適用於 OpenSSL 提供者的 HAProxy
-
如果存在,請備份現有的合併憑證檔案:
$cp server-combined.pem server-combined.pem.backup -
使用您的憑證和 CloudHSM 仿造 PEM 金鑰建立 HAProxy 的合併憑證檔案:
$cat server.crt server.key > server-combined.pem -
備份現有的 HAProxy 組態:
$cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.backup -
在 建立新的 CloudHSM TLS 卸載組態
/etc/haproxy/haproxy.cfg:global daemon ssl-provider cloudhsm # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/haproxy/dhparams.pem 2048 # ssl-dh-param-file /etc/haproxy/dhparams.pem ssl-default-bind-ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305 ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256 ssl-default-bind-options ssl-min-ver TLSv1.2 no-tls-tickets defaults mode http timeout connect 5000ms timeout client 50000ms timeout server 50000ms frontend haproxy_frontend bind *:443 ssl crt /path/to/server-combined.pem default_backend web_servers backend web_servers server web1 127.0.0.1:8080 check更新憑證路徑以符合您的檔案位置。
-
將 systemd 設定為使用 HAProxy 的環境檔案。位置取決於您的 Linux 發行版本。
-
在系統的適當位置建立環境檔案。
以您的
CU 登入資料取代 <CU 使用者名稱>和<password>。 -
重新載入系統化組態:
$systemctl daemon-reload -
使用 CloudHSM TLS 卸載組態啟動 HAProxy:
$systemctl start haproxy您也可以直接使用自訂組態檔案執行 HAProxy:
$haproxy -f /path/to/haproxy-cloudhsm.cfg
設定 HAProxy 之後,請前往 驗證 HTTPS 是否使用您已設定的憑證。
步驟 4:啟用 HTTPS 流量並驗證憑證
使用 設定 Web 伺服器進行 SSL/TLS 卸載後 AWS CloudHSM,請將 Web 伺服器執行個體新增至允許傳入 HTTPS 流量的安全群組。這可讓用戶端 (例如 Web 瀏覽器) 與 Web 伺服器建立 HTTPS 連線。然後,對 Web 伺服器進行 HTTPS 連線,並確認其使用您為 SSL/TLS 卸載設定的憑證 AWS CloudHSM。
啟用傳入 HTTPS 連線
若要從用戶端 (例如 Web 瀏覽器) 連接到 Web 伺服器,請建立允許傳入 HTTPS 連接的安全群組。特別是應該允許連接埠 443 上的傳入 TCP 連線。將此安全群組指派到您的 Web 伺服器。
建立 HTTPS 的安全群組並將其指派至您的 Web 伺服器
-
前往 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在導覽窗格中選擇安全群組。
-
選擇建立安全群組。
-
對於 Create Security Group (建立安全群組),執行下列動作:
-
對於 Security group name (安全群組名稱),輸入您要建立之安全群組的名稱。
-
(選用) 輸入您要建立之安全群組的描述。
-
對於 VPC,選擇包含 Web 伺服器 Amazon EC2 執行個體的 VPC。
-
選取 Add Rule (新增規則)。
-
對於類型,從下拉式視窗中選取 HTTPS。
-
對於來源,輸入來源位置。
-
選擇建立安全群組。
-
-
在導覽窗格中,選擇執行個體。
-
選取 Web 伺服器執行個體旁的核取方塊。
-
選取頁面頂端的動作下拉式選單。選取安全性,然後選取變更安全群組。
-
對於關聯的安全群組,請選取搜尋方塊,然後選取您為 HTTPS 建立之安全群組。然後選擇新增安全群組。
-
選取儲存。
驗證 HTTPS 是否使用您已設定的憑證
將 Web 伺服器新增至安全群組後,您可以驗證 SSL/TLS 卸載是否使用您的自我簽署憑證。若要這樣做,您可以使用 Web 瀏覽器或使用 OpenSSL s_client
使用 Web 瀏覽器驗證 SSL/TLS 卸載
-
使用 Web 瀏覽器來透過伺服器的公有 DNS 名稱或 IP 地址連接到您的 Web 伺服器。請確定網址列中的 URL 開頭為 https://。例如
https://ec2-52-14-212-67.us-east-2.compute.amazonaws.com/。提示
您可以使用 DNS 服務 (例如 Amazon Route 53),將網站的網域名稱 (例如,https://www.example.com/) 路由到 Web 伺服器。如需詳細資訊,請參閱《Amazon Route 53 開發人員指南》或 DNS 服務文件中的將流量路由到 Amazon EC2 執行個體。
-
使用您的 Web 瀏覽器來檢視 Web 伺服器憑證。如需詳細資訊,請參閱下列內容:
其他 Web 瀏覽器可能有類似的功能,可供您用來檢視 Web 伺服器憑證。
-
確保 SSL/TLS 憑證是您設定 Web 伺服器所要使用的憑證。
使用 OpenSSL s_client 來驗證 SSL/TLS 卸載
-
執行以下 OpenSSL 命令來使用 HTTPS 連接至 Web 伺服器。以 Web 伺服器的公有 DNS 名稱或 IP 地址來取代
<伺服器名稱>。openssl s_client -connect<server name>:443提示
您可以使用 DNS 服務 (例如 Amazon Route 53),將網站的網域名稱 (例如,https://www.example.com/) 路由到 Web 伺服器。如需詳細資訊,請參閱《Amazon Route 53 開發人員指南》或 DNS 服務文件中的將流量路由到 Amazon EC2 執行個體。
-
確保 SSL/TLS 憑證是您設定 Web 伺服器所要使用的憑證。
您現在有透過 HTTPS 而受到保護的網站。Web 伺服器的私有金鑰會存放在 AWS CloudHSM 叢集的 HSM 中。
若要新增負載平衡器,請參閱 使用 Elastic Load Balancing for 新增負載平衡器 AWS CloudHSM(選用)。