繼上篇:Taurus .Net Core 微服務開源框架:Admin 插件【3】 - 指標統計管理,本篇繼續介紹下一個內容:系統配置節點:App - Config 界面... ...
前言:
繼上篇:Taurus .Net Core 微服務開源框架:Admin 插件【3】 - 指標統計管理
本篇繼續介紹下一個內容:
1、系統配置節點:App - Config 界面
界面圖如下:
雙擊節點即可進入修改模式,如:
修改說明:
不勾選持久化,該配置當前生效,下次重次失效,修改後配置值旁邊帶有【temp】說明文字;
勾選持久化,該配置會存儲在硬碟中,後續重啟也仍舊生效,修改後配置值旁邊帶有【durable】說明文字。
節點說明:預設顯示的是 Mvc 的配置界面。
NetCore 版本 和 .Net Framework 版本的區別,就是 多了一個Kestrel 配置,其餘一致。
本節先講 Kestrel 相關的配置項:
2、系統配置節點:Kestrel 配置界面【含https啟用】
界面如下:
配置說明:經過對 Kestrel 長時間的研究和源碼分析:
Description 中帶有 【Restart】,即雙擊【Config Value】修改配置後,需要重啟應用才能生效,其餘都可即時生效。
配置詳細說明:
Urls:採用了NetCore原生的配置方式,可以用來配置預設http請求的埠,如果僅啟用https而不啟用http,可以不配置此參數。
AllowSynchronousIO:是否允許同步IO讀取,框架在接收Post數據有讀Body Stream,在Window環境此參數不影響,在Linux環境,需要配置為true。
AddServerHeader:此參數決定是否輸出請求頭:Server:kestrel。
SslPort:開啟https的埠,預設443,允許修改。
SslPath:只要把證書放在此目錄,即自動生效,支持以https方式訪問,此目錄允許修改。
https 啟用示例:
從證書平臺申請證書後,以IIS部署方式(pfx文件)下載,得到以功能變數名稱為名稱的 zip 文件:
解壓後,只要把 keystorePass.txt 改名成對應功能變數名稱 gateway.cyqdata.com.txt 。
然後把兩個文件放到 SslPath 對應配置的目錄即可。
框架簡化了複雜的配置,讓Kestrel啟用Https即這麼簡單。
3、系統配置節點:Kestrel - HostFilter 界面
界面如下:
配置說明:
AllowedHosts:允許的主機頭,預設*,接收所有主機,如果要限定功能變數名稱訪問,修改為功能變數名稱即可(多個用逗號分隔),如:gateway.cyqdata.com
AllowEmptyHosts:允許請求頭不帶Host,這個是相容http1.0協義的東西,如果不想相容,可以不用管。
IncludeFailureMessage:如果觸發限制,是否輸出提示文字,即【400狀態碼:無效主機頭】。
4、系統配置節點:Kestrel - Limit - Connection 界面
界面如圖:
配置說明:
預設配置是long.MaxValue,即無限制鏈接數,可以修改,但需要重啟應用才能生效。 由於 Kestrel 的內部實現造成此配置的不友好性,框架在 Limit - Rate 配置中,增加了以下配置項: Limit.Rate.MaxConcurrentConnections,同樣實現併發總數限制,並可即修改即生效。
5、系統配置節點:Kestrel - Limit - Connection 界面
界面如下:
配置說明:
MaxRequestBodySize:僅限制HTTP請求中請求體的大小(位元組,預設long.MaxValue)。 MaxRequestBufferSize:限制整個HTTP請求的大小(位元組,預設long.MaxValue),包括請求行、請求頭和請求體。 MaxRequestLineSize:請求行長度(位元組),如:GET /api/users HTTP/1.1 MaxRequestHeaderCount:最大請求頭數量。 MaxRequestHeadersTotalSize:最大請求頭位元組數。
前面2個參數需要重啟應用才生效;
後面3個參數,修改比較危險,容易造成應用程式無法訪問,因此框架內部做了最小值限制。
6、系統配置節點:Kestrel - Limit - Response 界面
界面如圖:
配置說明:
MaxResponseBufferSize:服務端允許輸出的最大位元組數。
7、系統配置節點:Kestrel - Limit - Timeout 界面
界面如圖:
配置說明:
KeepAliveTimeout:和客戶端最長保持鏈接時間,以分鐘為單位。
RequestHeadersTimeout:請求頭接收的最長時間,以秒為單位。
總結:
對個別 Kestel 參數,沒有呈現出來,比如 http2 或 http3 的配置,後續會考量儘量補全。
版權聲明:本文原創發表於 博客園,作者為 路過秋天 本文歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則視為侵權。 |
個人微信公眾號![]() |
創業QQ群:617713515![]() |
Donation(掃碼支持作者):支付寶:![]() |
Donation(掃碼支持作者):微信:![]() |
![]() |
![]() |
騰訊雲產品福利專區 |