HTTPS(超文本傳輸安全性通訊協定)是HTTP協議的安全版本,它通過SSL/TLS協議為傳輸的資料提供加密保護。HTTPS加密套件(Cipher Suite)是一組密碼編譯演算法和協議,用於在用戶端(如瀏覽器)和伺服器之間建立安全的通訊串連。為了進一步滿足您在使用網關時,對於安全性、相容性、效能最佳化以及其他合法合規的要求,雲原生API Gateway支援用戶端選擇指定的加密套件。
概述
一個HTTPS加密套件通常包括以下幾個組成部分:
-
金鑰交換演算法:用於安全地交換加密通訊的密鑰。常見的金鑰交換演算法包括RSA、Diffie-Hellman(DH)和ECDHE(橢圓曲線Diffie-Hellman)。
-
訊息認證碼(MAC)演算法:用於確保資料的完整性和認證,常見的MAC演算法包括HMAC-SHA256、HMAC-SHA384等。
-
對稱式加密演算法:用於加密資料本身性,常見的對稱式加密演算法包括AES(進階加密標準)、ChaCha20等。
使用限制
雲原生API Gateway版本為2.0.0及以上。
支援範圍
雲原生API Gateway支援的套件及對應支援TLS版本。
|
套件名稱 |
支援的TLS版本列表 |
|
ECDHE-ECDSA-AES128-SHA |
TLS 1.0、TLS 1.1、TLS 1.2、TLS 1.3 |
|
ECDHE-ECDSA-AES256-SHA |
TLS 1.0、TLS 1.1、TLS 1.2、TLS 1.3 |
|
ECDHE-RSA-AES128-SHA |
TLS 1.0、TLS 1.1、TLS 1.2、TLS 1.3 |
|
ECDHE-RSA-AES256-SHA |
TLS 1.0、TLS 1.1、TLS 1.2、TLS 1.3 |
|
AES128-SHA |
TLS 1.0、TLS 1.1、TLS 1.2、TLS 1.3 |
|
AES256-SHA |
TLS 1.0、TLS 1.1、TLS 1.2、TLS 1.3 |
|
ECDHE-ECDSA-AES128-GCM-SHA256 |
TLS 1.2、TLS 1.3 |
|
ECDHE-ECDSA-CHACHA20-POLY1305 |
TLS 1.2、TLS 1.3 |
|
ECDHE-RSA-AES128-GCM-SHA256 |
TLS 1.2、TLS 1.3 |
|
ECDHE-RSA-CHACHA20-POLY1305 |
TLS 1.2、TLS 1.3 |
|
AES128-GCM-SHA256 |
TLS 1.2、TLS 1.3 |
|
ECDHE-ECDSA-AES256-GCM-SHA384 |
TLS 1.2、TLS 1.3 |
|
ECDHE-RSA-AES256-GCM-SHA384 |
TLS 1.2、TLS 1.3 |
|
AES256-GCM-SHA384 |
TLS 1.2、TLS 1.3 |
操作步驟
在左側導覽列,選擇域名,並在頂部功能表列選擇地區。
-
若尚未建立網域名稱,單擊添加網域名稱。若已建立網域名稱,可單擊目標網域名稱操作列下方编辑。
添加網域名稱
-
在添加網域名稱頁面域名下拉式清單中選擇HTTPS協議。
-
單擊進階選項,在加密算法套件單選框中選擇自訂。在可選演算法列表中勾選需要設定的演算法,單擊创建。
編輯網域名稱
-
编辑域名頁面域名下拉式清單中選擇HTTPS協議。
-
單擊進階選項,在加密算法套件單選框中選擇自訂。在可選演算法列表中勾選需要設定的演算法,單擊确定。
-
結果驗證
-
設定HTTPS網域名稱為指定加密套件,如本例將加密套件指定為:
ECDHE-ECDSA-AES128-GCM-SHA256並設定成功。 -
指定加密套件為
ECDHE-ECDSA-AES128-GCM-SHA256訪問。curl -iv --ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256' https://bantian.alijam.top/get --resolve "bantian.alijam.top:443:8.154.33.131" -
指定套件
ECDHE-ECDSA-AES128-GCM-SHA256請求正常返回成功,雙方協商使用加密套件ECDHE-ECDSA-AES128-GCM-SHA256。~ curl -iv --ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256' https://bantian.alijam.top/get --resolve "bantian.alijam.top:443:8.xxx" * Added bantian.alijam.top:443:8 xxx to DNS cache * Hostname bantian.alijam.top was found in DNS cache * Trying 8.154.33.131:443... * Connected to bantian.alijam.top (8.154.33.131) port 443 (#0) * ALPN, offering h2 * ALPN, offering http/1.1 * Cipher selection: ECDHE-ECDSA-AES128-GCM-SHA256 * successfully set certificate verify locations: * CAfile: /etc/ssl/cert.pem * CApath: none * TLSv1.2 (OUT), TLS handshake, Client hello (1): * TLSv1.2 (IN), TLS handshake, Server hello (2): * TLSv1.2 (IN), TLS handshake, Certificate (11): * TLSv1.2 (IN), TLS handshake, Server key exchange (12): * TLSv1.2 (IN), TLS handshake, Server finished (14): * TLSv1.2 (OUT), TLS handshake, Client key exchange (16): * TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1): * TLSv1.2 (OUT), TLS handshake, Finished (20): * TLSv1.2 (IN), TLS change cipher, Change cipher spec (1): * TLSv1.2 (IN), TLS handshake, Finished (20): * SSL connection using TLSv1.2 / ECDHE-ECDSA-AES128-GCM-SHA256 * ALPN, server accepted to use h2 > GET /get HTTP/2 > Host: bantian.alijam.top > < HTTP/2 200 -
指定套件
ECDHE-ECDSA-AES256-GCM-SHA256請求異常,返回失敗。→ ~ curl -iv --ciphers 'ECDHE-ECDSA-AES256-GCM-SHA256' https://bantian.alijam.top/get --resolve "bantian.alijam.top:443:8.154.33.131" * Added bantian.alijam.top:443:8.154.33.131 to DNS cache * Hostname bantian.alijam.top was found in DNS cache * Trying 8.154.33.131:443... * Connected to bantian.alijam.top (8.154.33.131) port 443 (#0) * ALPN, offering h2 * ALPN, offering http/1.1 * failed setting cipher list: ECDHE-ECDSA-AES256-GCM-SHA256 * Closing connection 0 curl: (59) failed setting cipher list: ECDHE-ECDSA-AES256-GCM-SHA256