更新时间:2024-10-17 GMT+08:00
分享

配置参数

配置参数提供了实例内组件的公共参数配置,通过修改配置参数,可以调整组件的相关功能。

约束与限制

修改实例配置参数会引起APIG业务中断,建议在无业务运行或业务低峰时修改配置参数。

操作步骤

  1. 进入API网关控制台页面。
  1. 在左侧导航栏选择“实例管理”。
  2. 在待配置参数的实例上,单击“查看控制台”或实例名称
  3. 单击“配置参数”页签,找到您需要调整的配置项并进行修改。不同的实例规格展示的配置参数会存在不同,具体以界面为准。

    表1 实例配置参数说明

    参数

    说明

    ratelimit_api_limits

    API全局默认流控值,默认值为200次/秒。API未绑定流控策略时,执行此默认流控;API绑定流控策略时,则执行绑定的流控策略。流控策略的API流量限制值不能超过API全局默认流控值。

    request_body_size

    API请求中允许携带的Body大小上限,默认值为12MB,可修改范围为1MB~9536MB。

    backend_timeout

    后端响应超时时间上限,默认值为60000ms,可修改范围为1ms~600000ms。

    app_token

    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

    app_api_key认证方式开关,默认关闭。启用后,可在API请求中添加“apikey”参数,携带凭据的Key进行API的调用认证。

    app_basic

    app_basic认证方式开关,默认关闭。启用后,在API请求中添加Header参数“Authorization”,参数值为"Basic"+base64(appkey:appsecret),其中appkey和appsecret分别为凭据的Key和Secret。

    app_secret

    app_secret认证方式开关,默认关闭。启用后,可在API请求中添加“X-HW-ID”和“X-HW-AppKey”参数,携带凭据的Key和Secret进行API的调用认证。

    app_route

    支持IP访问开关,默认关闭。启用后,非DEFAULT分组下的APP认证的API可以使用IP地址调用。

    backend_client_certificate

    后端双向认证开关,默认关闭。启用后,创建API配置后端服务时,可配置后端双向认证。

    ssl_ciphers

    支持配置https加密套件,默认所有的加密套件全部支持。当您绑定独立域名后,可根据需要选择支持的加密套件。

    real_ip_from_xff

    是否使用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。

    vpc_name_modifiable

    负载通道名称是否可修改,默认可修改。

    须知:

    负载通道名称可修改时,当前实例的负载通道无法通过项目级负载通道管理接口操作。

    app_jwt_enable

    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

    public_key类型签名密钥开关,默认关闭。启用后,可在签名密钥认证中使用public_key类型签名。

    public_key_uri_prefix:获取public_key对应secret的uri前缀。具体uri格式为:https://{虚拟私有云访问地址}{public_key_uri_prefix}{public_key签名密钥名称}。

    custom_auth_header

    认证头域自定义配置开关,默认关闭。启用后,参数“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

    对响应请求使用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

    自定义日志功能开关,默认关闭。开启自定义日志功能后,实例下所有API的调用日志中会在指定位置打印指定参数的值。

    启用后,需单击“编辑”,添加需在调用日志中打印的参数。

    须知:
    • 自定义日志只支持打印由客户端发起的请求信息,不支持打印在APIG中定义的常量参数和系统参数。
    • 自定义日志最多可配置10个字段,且字段大小总和不得超过2KB。
    • 参数值中的部分特殊字符会进行编码,例如:加号(+)会被编码为空格“ ”,双引号(")会被编码为“\x22”,反斜杠(\)会被编码为“\x5C”。

    sse_strategy

    SSE传输策略开关,默认关闭。启用后,支持通过使用Server-Sent Events (SSE)按照流式输出API的响应内容,可以实现逐字符渲染。

    须知:

    sse_strategy配置完成后,如需修改,至少需要1分钟后。

    vpc_name_modifiable

    负载通道名称支持修改开关。开启后可修改负载通道名称,但当前实例的负载通道无法通过项目级VPC通道管理API接口操作。

    vpc_health_status

    负载通道后端实例健康状态显示开关,默认关闭。开关开启且负载通道的健康检查开启时,将在负载通道详情页面展示后端实例的健康状态。

    request_custom_config

    支持自定义配置客户端请求相关参数。

    • HTTP/2:HTTP/2协议的开关,默认为开启状态。更多详情请参考支持HTTP2.0
    • request_body_timeout:客户端请求体超时时间的修改,默认为8s。网络状况差或请求体过大的情况下可适当调整该参数。
    须知:

    客户端请求自定义配置修改完成后,如需修改,至少需要1分钟后。

    api_uri_no_escape

    API的URL中的Path转义处理开关。默认关闭,表示URL中的Path会进行转义处理。

    开启“api_uri_no_escape”开关后,使用Path不转义的功能请参见表2

    表2 Path不转义影响的功能

    功能

    描述

    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

相关文档