为了适应不同场景的变化,您可以对云原生网关进行参数调整。通过合理调整参数,可以提升网络的效能、可靠性和安全性,确保网络的稳定运行和用户体验。但是需要注意的是,修改网关参数可能会对网络连接和应用程序的使用产生影响,因此在进行此类操作之前,请了解可修改参数的取值范围及其作用。本文介绍如何修改网关参数以及参数详情。
前提条件
操作步骤
为保证实例的稳定运行,仅支持对控制台中开放的参数进行修改,未在控制台中呈现的参数不支持修改。
修改参数值时,请参见控制台上网关引擎参数页面中的取值范围列。
登录MSE网关管理控制台,并在顶部菜单栏选择地域。
在左侧导航栏,选择云原生网关 > 网关列表。
在网关列表页面,单击目标网关名称。
在左侧导航栏,选择参数配置。在网关引擎参数区域,单击目标参数操作列下方的编辑,根据下表设置您的参数值,并单击确定。
网关引擎参数详情
参数名 | 参数类型 | 取值范围 | 默认值 | 参数描述 |
EnableHttp2 | bool | [true,false] | false | 作用于请求环节,开启后,客户端与服务端的通信将使用HTTP2协议。所有主流浏览器均已在其最新版本中支持HTTP2,不支持的浏览器将自动回退到HTTP1.1。修改后约1~2分钟生效。
|
EnableGenerateRequestId | bool | [true,false] | true | 作用于请求范围,根据配置会在请求头中生成RequestId,即X-Request-Id,用于唯一定位请求。
|
EnableGzip | bool | [true,false] | false | 作用于请求与响应环节。
|
EnableSlashMerge | bool | [true,false] | false | 作用于请求环节,是否合并请求中多余的
|
DownstreamIdleTime | integer | [0,600] | 300 | 作用于网关连接,客户端到网关在指定的时间内没有请求,则会断开连接。单位为秒。 |
PreserveHeaderFormat | bool | [true,false] | false | 作用于请求和响应环节,HTTP1.1规范中Header头不区分大小写进行识别,为了保证与HTTP2规范兼容,默认会统一转化为小写。
|
DownstreamConnectionBufferLimits | integer | [0,2147483647] | 32768 | 作用于网关连接,控制单条链接的缓冲区大小,配置后会影响吞吐和网关的内存使用。单位为字节。 |
EnableHardwareAccelerate | bool | [true,false] | true | 作用于TLS加解密,是否开启硬件加速。若您的地域不支持硬件加速或购买时未指定硬件加速,此参数会无法生效。
说明 由于底层硬件限制,目前仅华北2(北京)、华东1(杭州)、华东2(上海)、华南1(深圳)、亚太东南1(新加坡)地域支持硬件加速功能。 |
XffTrustedNum | integer | [0,10] | 0 | 作用于请求环节,网关前可信任的代理个数,会影响网关是否会使用客户端产生的x-forwarded-for和x-request-id等请求头。 若取值为0,会将对端Socket IP作为真实IP,并将其设置到x-envoy-external-address请求头中传递给后端。 若取值非0,会根据取值从已经附加了Socket IP的x-forwarded-for中,从右向左跳过对应的跳数,然后取出真实IP,并将该IP设置到x-envoy-external-address请求头中传递给后端。同时,还会保留客户端传入的x-request-id和x-forwarded-proto请求头,不做任何修改。 |
DownstreamHttp2MaxConcurrentStream | integer | [0,2147483647] | 100 | 作用于请求环节,客户端使用HTTP2时一条链接上的最大并发数。单位为byte。 |
InitialStreamWindowSize | integer | [0,2147483647] | 65535 | 作用于请求环节,网关与客户端使用HTTP2时协商的Stream初始窗口大小。单位为byte。 |
InitialConnectionWindowSize | integer | [0,2147483647] | 1048576 | 作用于请求环节,网关与客户端使用HTTP2时连接级别初始窗口大小。单位为byte。 |
EnableHttp3 | bool | [true,false] | false | 作用于请求环节,决定下游与网关协商是否使用HTTP3。
|
UpstreamIdleTimeout | int | [0, 600] | 30 | 作用于网关连接,即在指定的时间内,网关到上游服务端若没有请求,则会断开连接。单位为秒。 |
PathWithEscapedSlashes | string |
| KEEP_UNCHANGED | 针对统一资源标识符(URI)路径中包含的%2F、%2f、%5C或%5c等转义字符的请求转发策略。
|
ZipAlgorithm | List<string> | [brotli, gzip] | gzip | 开启压缩后使用的算法,可以选择brotli或者gzip。 若同时设置了gzip和brotli,且Accept-Encoding中gzip和brotli的Q值相同的情况下,压缩算法会选择列表中靠前的值。 |
EnableProxyProtocol | bool | [true,false] | false | 开启Proxy协议。如果网关入口流量使用NLB接入,不开启则无法获取客户端的真实IP,开启后对于非Proxy协议请求没有影响。 |
EnableCustomAuthConfigPush | bool | [true,false] | false | 适用于使用自建的鉴权服务的场景,开启后鉴权规则变更不会引起连接中断,适用于WebSocket和在线业务场景。 |
KeepaliveHeaderTimeout | int | [0, 600](s) | 0 | 用于生成Keep-Alive响应头返回给客户端,告知连接的保活时间。例如配置为10时,会返回响应头: `keep-alive: timeout=10`。配置为0时,不会返回该响应头。 |