全部产品
Search
文档中心

API 网关:设置指定HTTPS加密套件

更新时间:Jun 08, 2026

HTTPS(超文本传输安全协议)是HTTP协议的安全版本,它通过SSL/TLS协议为传输的数据提供加密保护。HTTPS加密套件(Cipher Suite)是一组加密算法和协议,用于在客户端(如浏览器)和服务器之间建立安全的通信连接。为了进一步满足您在使用网关时,对于安全性、兼容性、性能优化以及其他合法合规的要求,云原生API网关支持客户端选择指定的加密套件。

概述

一个HTTPS加密套件通常包括以下几个组成部分:

  1. 密钥交换算法:用于安全地交换加密通信的密钥。常见的密钥交换算法包括RSA、Diffie-Hellman(DH)和ECDHE(椭圆曲线Diffie-Hellman)。

  2. 消息认证码(MAC)算法:用于确保数据的完整性和认证,常见的MAC算法包括HMAC-SHA256、HMAC-SHA384等。

  3. 对称加密算法:用于加密数据本身性,常见的对称加密算法包括AES(高级加密标准)、ChaCha20等。

使用限制

云原生API网关版本为2.0.0及以上。

支持范围

云原生API网关支持的套件及对应支持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

操作步骤

  1. 登录云原生API网关控制台

  2. 在左侧导航栏,选择域名,并在顶部菜单栏选择地域。

  3. 若尚未创建域名,单击添加域名。若已创建域名,可单击目标域名操作列下方编辑

    添加域名

    1. 添加域名页面域名下拉列表中选择HTTPS协议。

    2. 单击高级选项,在加密算法套件单选框中选择自定义。在可选算法列表中勾选需要设置的算法,单击创建

    编辑域名

    1. 编辑域名页面域名下拉列表中选择HTTPS协议。

    2. 单击高级选项,在加密算法套件单选框中选择自定义。在可选算法列表中勾选需要设置的算法,单击确定

结果验证

  1. 设置HTTPS域名为指定加密套件,如本例将加密套件指定为:ECDHE-ECDSA-AES128-GCM-SHA256并设置成功。

  2. 指定加密套件为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"
  3. 指定套件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
  4. 指定套件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