為了適應不同場景的變化,您可以對云原生網關進行參數調整。通過合理調整參數,可以提升網絡的效能、可靠性和安全性,確保網絡的穩定運行和用戶體驗。但是需要注意的是,修改網關參數可能會對網絡連接和應用程序的使用產生影響,因此在進行此類操作之前,請了解可修改參數的取值范圍及其作用。本文介紹如何修改網關參數以及參數詳情。
前提條件
操作步驟
為保證實例的穩定運行,僅支持對控制臺中開放的參數進行修改,未在控制臺中呈現的參數不支持修改。
修改參數值時,請參見控制臺上網關引擎參數頁面中的取值范圍列。
登錄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時,不會返回該響應頭。 |