
# 配置APIG实例参数
配置参数提供了实例内组件的公共参数配置，通过修改配置参数，可以调整组件的相关功能。
#### 约束与限制
- 修改实例配置参数会引起APIG业务中断，建议在无业务运行或业务低峰时修改配置参数。
- 部分参数受限使用，如需使用，请[提交工单](https://support.huaweicloud.com/usermanual-ticket/zh-cn_topic_0127038618.html)申请。
 
 #### 配置实例参数
1. 进入[API网关控制台](https://console.huaweicloud.com/apig2/#/overview)页面。

2. 在左侧导航栏选择"实例管理"。
3. 在待配置参数的实例上，单击"查看控制台"或实例名称。
4. 单击"配置参数"页签，找到您需要调整的配置项，根据下表参数说明，进行修改。不同的实例规格展示的配置参数会存在不同，具体以界面为准。 
   表1实例配置参数说明 
   | 参数                          | 参数默认值                                                                                                                                         | 参数范围                                                                                        | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   |:---|:---|:---|:---|
   | ratelimit_api_limits        | 6000次/秒                                                                                                                                       | 1-1,000,000次/秒                                                                              | API全局默认流控值。API未绑定流控策略时，执行此默认流控；API绑定流控策略时，则执行绑定的流控策略。流控策略的API流量限制值不能超过API全局默认流控值。 **如果配置过小会导致业务持续被流控，请根据业务谨慎修改。**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   | request_body_size           | 12MB                                                                                                                                          | 1-9,536MB                                                                                   | API请求中允许携带的Body大小上限。 支持通过POST方法上传文件，目前仅支持对请求体透传。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   | backend_timeout             | 60,000ms                                                                                                                                      | 1-600,000ms                                                                                 | 后端响应超时时间上限。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | app_token                   | Off                                                                                                                                           | On/Off                                                                                      | app_token认证方式开关，默认关闭。启用后，可在API请求中使用获取的access_token进行API的调用认证。 - app_token_expire_time：access_token的有效时间，在access_token到期前，请及时获取新的access_token并更新，避免影响正常使用。  - refresh_token_expire_time：refresh_token的有效时间。refresh_token用于获取新的access_token。  - app_token_uri：获取access_token的uri。  - app_token_key：access_token的加密key。   |
   | app_api_key                 | Off                                                                                                                                           | On/Off                                                                                      | app_api_key认证方式开关，默认关闭。启用后，可在API请求中添加"apikey"参数，携带凭据的Key进行API的调用认证。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | app_basic                   | Off                                                                                                                                           | On/Off                                                                                      | app_basic认证方式开关，默认关闭。启用后，在API请求中添加Header参数"Authorization"，参数值为"Basic"+base64(*appkey* :*appsecret*)，其中appkey和appsecret分别为凭据的Key和Secret。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   | app_secret                  | Off                                                                                                                                           | On/Off                                                                                      | app_secret认证方式开关，默认关闭。启用后，可在API请求中添加"X-HW-ID"和"X-HW-AppKey"参数，携带凭据的Key和Secret进行API的调用认证。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | app_route                   | Off                                                                                                                                           | On/Off                                                                                      | 支持IP访问开关，默认关闭。启用后，非DEFAULT分组下的APP认证的API可以使用IP地址调用。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | backend_client_certificate  | -                                                                                                                                             | -                                                                                           | 后端双向认证开关，默认关闭。启用后，创建API配置后端服务时，可配置后端双向认证。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | ssl_ciphers                 | ECC-SM4-SM3,ECDHE-SM4-SM3,ECDHE-ECDSA-AES256-GCM-SHA384,ECDHE-RSA-AES256-GCM-SHA384,ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES128-GCM-SHA256 | -                                                                                           | 支持配置[HTTPS加密套件]，默认所有的加密套件全部支持。当您绑定独立域名后，可根据需要选择支持的加密套件。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | real_ip_from_xff            | Off                                                                                                                                           | On/Off                                                                                      | 是否使用X-Forwarded-For头中的IP作为ACL、流控的判断依据，默认不使用。 xff_index：X-Forwarded-For头中IP的排序序号，值允许为正数、负数、0。 - xff_index值为0或正数时，获取X-Forwarded-For头中对应索引的IP。  - xff_index值为负数时，按倒序方式从X-Forwarded-For头中获取IP。   例如到达API网关的X-Forwarded-For头中依次有IP1，IP2，IP3三个IP地址，xff_index取0时获取IP1，xff_index取1时获取IP2，xff_index取-1时获取IP3，xff_index取-2时获取IP2。                                                                                                                                                                 |
   | app_jwt_enable              | Off                                                                                                                                           | On/Off                                                                                      | app_jwt认证方式开关，默认关闭。启用后，可在API请求中添加如下参数，携带凭据的Key和Secret以及时间戳进行API的调用认证。 - 在API请求中添加Header参数"Timestamp"，参数值为当前时间的Unix时间戳，单位为毫秒。  - 在API请求中添加Header参数"Authorization"，这一参数可以通过修改"app_jwt_auth_header"项进行配置，默认值为"Authorization"，参数值为sha256(appkey+appsecret+timestamp)，且sha256加密后的字符串需为小写字母。其中appkey和appsecret分别为凭据的Key和Secret，timestamp为当前时间的Unix时间戳，单位为毫秒。  - 在API请求中添加Header参数"X-HW-ID"，参数值为凭据的Key。                                                                                                                                                                                                                           |
   | public_key_enable           | Off                                                                                                                                           | On/Off                                                                                      | public_key类型签名密钥开关，默认关闭。启用后，可在签名密钥认证中使用public_key类型签名。 public_key_uri_prefix：获取public_key对应secret的uri前缀。具体uri格式为：https://{虚拟私有云访问地址}{public_key_uri_prefix}{public_key签名密钥名称}。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | custom_auth_header          | Off                                                                                                                                           | On/Off                                                                                      | 认证头域自定义配置开关，默认关闭。启用后，参数"app_auth_header"和"backend_sign_header"的初始值为空，与不启用效果一致。 如果配置"app_auth_header"的"参数运行值"，那么对于APP认证的API，请求header中携带APP认证信息的参数为此处"app_auth_header"的值；如果配置"backend_sign_header"的"参数运行值"，那么对于绑定HMAC或者Basic Auth类型签名密钥策略的API，API网关到后端服务的请求header中携带签名信息的参数为此处"backend_sign_header"的值。 **配置后会影响当前实例下所有APP认证或签名密钥策略（HMAC/Basic Auth类型），请谨慎配置。**                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | gzip                        | Off                                                                                                                                           | On/Off                                                                                      | 对响应请求使用gzip压缩，用于减少公网流量。默认未配置gzip压缩，配置后1分钟生效，请谨慎修改。 启用后，可配置comp_level参数，comp_level表示压缩级别，值越大表示性能消耗越大，一般默认为6。 - 响应请求体大于1KB时，您可以使用gzip压缩文件（即1KB以下的文件不做压缩）。  - gzip压缩支持的文件类型有text/xml、text/plain、text/css、application/javascript、application/x-javascript、application/rss+xml、text/javascript、image/tiff、image/svg+xml、application/json、application/xml  - 启用gzip压缩后，须在请求中添加请求头"Accept-Encoding: gzip"。  - gzip配置完成后，如需修改，至少需要1分钟后。                                                                                              |
   | custom_log                  | Off                                                                                                                                           | On/Off                                                                                      | 自定义日志功能开关，默认关闭。开启自定义日志功能后，实例下所有API的[调用日志](https://support.huaweicloud.com/usermanual-apig/apig_03_0042.html)中会在指定位置打印指定参数的值。 - 自定义日志只支持打印由客户端发起的请求信息，不支持打印在APIG中定义的常量参数。  - 自定义日志最多可配置10个字段，且字段大小总和不得超过2KB。  - 参数值中的部分特殊字符会进行编码，例如：加号（+）会被编码为空格" "，双引号（"）会被编码为"\\x22"，反斜杠（\\）会被编码为"\\x5C"。  - **配置的参数会打印到日志中，为防止信息泄露，请谨慎配置。**   启用后，需单击"编辑"，添加需在调用日志中打印的参数。参数顺序与日志打印顺序对应。 - 参数位置支持选择header、query、cookie参数。    |
   | sse_strategy                | Off                                                                                                                                           | On/Off                                                                                      | SSE传输策略开关，默认关闭。启用后，支持通过使用Server-Sent Events（SSE）按照流式输出API的响应内容，可以实现逐字符渲染。 **sse_strategy配置完成后，如需修改，至少需要1分钟后。**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | vpc_name_modifiable         | On                                                                                                                                            | On/Off                                                                                      | 负载通道名称支持修改开关。开启后可修改负载通道名称，但当前实例的负载通道无法通过项目级VPC通道管理API接口操作。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | vpc_health_status           | Off                                                                                                                                           | On/Off                                                                                      | 负载通道后端实例健康状态显示开关，默认关闭。开关开启且负载通道的健康检查开启时，将在负载通道详情页面展示后端实例的健康状态。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | request_custom_config       | -                                                                                                                                             | -                                                                                           | 支持自定义配置客户端请求相关参数。 - HTTP/2：HTTP/2协议的开关，默认为开启状态。更多详情请参考[什么是API网关](https://support.huaweicloud.com/productdesc-apig/apig_0080101651.html#section0)。  - request_body_timeout：客户端请求体超时时间的修改，默认为8s，取值范围1-60s。网络状况差或请求体过大的情况下可适当调整该参数。   **客户端请求自定义配置修改完成后，如需修改，至少需要1分钟后。**                                                                                                                                                                                                                                                                                                                                                                                                             |
   | api_uri_no_escape           | Off                                                                                                                                           | On/Off                                                                                      | API的URL中的Path转义处理开关。默认关闭，表示URL中的Path会进行转义处理。 开启"api_uri_no_escape"开关后，使用Path不转义的功能请参见[表2]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | kafka_log_plugin_options    | -                                                                                                                                             | -                                                                                           | Kafka日志推送策略可推送的请求体和响应体大小配置。 - request_body_size：Kafka日志推送策略可推送的请求体大小上限。默认值1000B，取值范围0-10,240B。  - response_body_size：Kafka日志推送策略可推送的响应体大小上限。默认值1000B，取值范围0-10,240B。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   | sign_algorithms             | V11-HMAC-SHA256,V11-HMAC-SM3                                                                                                                  | V11-HMAC-SHA256,V11-HMAC-SM3,SDK-HMAC-SHA256,SDK-HMAC-SM3,SDK-ECDSA-P256-SHA256,SDK-SM2-SM3 | 支持配置IAM认证（AK/SK认证）的签名算法，推荐使用V11算法。当用户使用AK/SK认证调用API时，APIG会对用户的请求进行验签。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   | backend_token_allow_users   | -                                                                                                                                             | -                                                                                           | **使用IAM认证（AK/SK认证或Token认证）时可配置**。 实例支持透传IAM Token给后端的账号列表。 租户名支持配置PCRE正则表达式，如果需要透传所有租户Token，可以配置为".\*"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | iam_new                     | Off                                                                                                                                           | On/Off                                                                                      | 是否开启iam5.0认证方式，默认关闭。开启后仅支持iam5.0认证，不再支持iam3.0认证；关闭后，支持iam5.0认证和iam3.0认证。iam5.0和IAM3.0分别对应IAM新旧版本，相关信息请参考[IAM新旧控制台功能差异说明](https://support.huaweicloud.com/productdesc-iam5/iam_01_1105.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | credential_transport_switch | Off                                                                                                                                           | On/Off                                                                                      | 是否透传User-Profile和环境信息到后端，默认不透传。User-Profile和环境信息的请求头如下： - X-User-Profile：iam5.0用于表征某个触发请求的调用者的身份信息。  - X-Context-Attributes：包含请求相关信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
      
    表2Path不转义影响的功能 
   | 功能              | 描述                                                                    | API前端定义的Path | 请求发送时使用的Path | api_uri_no_escape开关关闭 | api_uri_no_escape开关开启 |
   |:---|:---|:---|:---|:---|:---|
   | API定义           | APIG进行匹配路由的Path                                                       | /{path}      | /aa%2Faa     | /aa/aa                | /aa%2Faa              |
   | 参数编排            | 后端服务参数使用的Path                                                         | -            | -            | /aa/aa                | /aa%2Faa              |
   | http到https重定向   | 重定向使用的Path                                                            | -            | -            | /aa/aa                | /aa%2Faa              |
   | 策略后端            | 策略条件为请求入参的Path                                                        | -            | -            | /aa/aa                | /aa%2Faa              |
   | 第三方认证策略         | API绑定第三方认证策略后，传递到第三方的Path                                             | -            | -            | /aa/aa                | /aa%2Faa              |
   | kafka日志推送策略     | API绑定kafka日志推送策略后，使用的请求Path                                           | -            | -            | /aa/aa                | /aa%2Faa              |
   | 负载通道            | 使用URI哈希分发算法的负载通道时，APIG用来转发的Path  | -            | -            | /aa/aa                | /aa%2Faa              |
   | FunctionGraph后端 | API的后端类型为FunctionGraph时，发送到函数请求Path                                   | -            | -            | /aa/aa                | /aa%2Faa              |
   | 自定义认证           | API认证方式选择自定义认证时，发送到函数请求Path                                           | -            | -            | /aa/aa                | /aa%2Faa              |
      
    表3APIG支持的加密套件 
   | 加密套件名称                        | 安全性 |
   |:---|:---|
   | ECC-SM4-SM3                   | 高   |
   | ECDHE-SM4-SM3                 | 高   |
   | ECDHE-ECDSA-AES256-GCM-SHA384 | 高   |
   | ECDHE-RSA-AES256-GCM-SHA384   | 高   |
   | ECDHE-ECDSA-AES128-GCM-SHA256 | 高   |
   | ECDHE-RSA-AES128-GCM-SHA256   | 高   |
      
   
   
 
