為了適應不同情境的變化,您可以對雲原生API Gateway進行參數調整。通過合理調整參數,可以提升網路的效能、可靠性和安全性,確保網路的穩定運行和使用者體驗。但是需要注意的是,修改網關參數可能會對網路連接和應用程式的使用產生影響,因此在進行此類操作之前,請瞭解可修改參數的取值範圍及其作用。本文介紹如何修改網關參數以及參數詳情。
前提條件
已建立網關,具體操作,請參見建立雲原生API Gateway。
操作步驟
為保證執行個體的穩定運行,僅支援對控制台中開放的參數進行修改,未在控制台中呈現的參數不支援修改。
修改參數值時,請參見控制台上網關引擎參數頁面中的取值範圍列。
在左側導覽列,選擇執行個體,並在頂部功能表列選擇地區。
在執行個體頁面,單擊目標網關執行個體ID。
在左側導覽列,選擇參數配置。在網關引擎參數地區,單擊目標參數操作列下方的編輯,根據下表設定您的參數值,並單擊確定。
網關引擎參數詳情
參數名 | 參數類型 | 取值範圍 | 預設值 | 參數描述 |
EnableHttp2 | bool | [true,false] | false | 作用於請求環節,服務端與用戶端協商時是否使用HTTP/2。
|
EnableGenerateRequestId | bool | [true,false] | true | 作用於請求範圍,根據配置會在要求標頭中產生RequestId,即X-Request-Id,用於唯一定位請求。
|
EnableGzip | bool | [true,false] | false | 作用於請求與響應環節。
|
EnableGzipHardwareAccelerate | bool | [true,false] | false | 基於專用硬體進行Gzip壓縮。啟用後會對請求響應進行壓縮,大幅降低網關流量,相比軟體Gzip效能更高,CPU消耗更小。
重要
|
EnableSlashMerge | bool | [true,false] | false | 作用於請求環節,是否合并請求中多餘的
|
DownstreamIdleTime | integer | [0,600] | 300 | 作用於網關串連,用戶端到網關在指定的時間內沒有請求,則會中斷連線。單位為秒。 |
PreserveHeaderFormat | bool | [true,false] | false | 作用於請求和響應環節,HTTP/1.1規範中Header頭不區分大小寫進行識別,為了保證與HTTP/2規範相容,預設會統一轉化為小寫。
|
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時一條連結上的最大並發數量。 |
InitialStreamWindowSize | integer | [65535,2147483647] | 65535 | 作用於請求環節,網關與用戶端使用HTTP2時協商的Stream初始視窗大小。單位為byte。 |
InitialConnectionWindowSize | integer | [0,2147483647] | 1048576 | 作用於請求環節,網關與用戶端使用HTTP/2時串連層級初始視窗大小。單位為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和線上業務情境。 |