gpt4 book ai didi

Taurus.NetCore微服务开源框架:Admin插件【4-1】-配置管理-Kestrel【含https启用】

转载 作者:我是一只小鸟 更新时间:2023-06-29 14:32:12 24 4
gpt4 key购买 nike

前言:

继上篇: 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 的配置,后续会考量尽量补全.

最后此篇关于Taurus.NetCore微服务开源框架:Admin插件【4-1】-配置管理-Kestrel【含https启用】的文章就讲到这里了,如果你想了解更多关于Taurus.NetCore微服务开源框架:Admin插件【4-1】-配置管理-Kestrel【含https启用】的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com