首页 > 其他分享 >Taurus .Net Core 微服务开源框架:Admin 插件【4-1】 - 配置管理-Kestrel【含https启用】

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

时间:2023-06-29 09:22:57浏览次数:39  
标签:Core 插件 界面 请求 配置 配置管理 Kestrel https 系统配置

前言:

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

标签:Core,插件,界面,请求,配置,配置管理,Kestrel,https,系统配置
From: https://www.cnblogs.com/cyq1162/p/17510498.html

相关文章

  • .net core IOC容器实现(三)--CallSite
    接着上面一节,这一节主要来看看callSite是如何生成的CallSite是通过CallSiteFactory.GetCallSite(TypeserviceType,CallSiteChaincallSiteChain)生成的,CallSiteFactory是在ServiceProvider里实例化的。代码如下privatereadonlyConcurrentDictionary<ServiceCacheKey,......
  • 4、Elasticsearch插件Head和Serebro实现Elasticsearch的图形化管理
    Elasticsearch访问Elasticsearch支持各种语言使用RESTfulAPI通过端口9200与之进行通信,可以用你习惯的web客户端访问Elasticsearch可以用三种方式和Elasticsearch进行交互curl命令和其它浏览器:基于命令行,操作不方便插件:在node节点上安装head,Cerebro等插件,实现图形操......
  • .NET Core 允许跨域的两种方式实现(IIS 配置、C# 代码实现)
    〇、前言当把开发好的WebApi接口,部署到Windows服务器IIS后,postman可以直接访问到接口并正确返回,这并不意味着任务完成,毕竟接口嘛是要有交互的,最常见的问题莫过于跨域了。若前端文件是在当前接口文件下的wwwroot文件夹下,那么接口的访问就没问题,因为是同协议(http、https)......
  • 免费体验Stable Diffusion deforum文转视频插件,还有deforum API 接口部署介绍!
    如何使用ServerlessDevs和函数计算快速体验部署StableDiffusion,这个是小白也能简单体验安装部署的教程.有电脑就能操作,依托阿里云原生服务.不用考虑硬件问题本篇主要讲解怎么安装跟部署自定义安装插件跟模型.以deforum文转视频插件举例.deforumapi接口自定义开发镜像定......
  • Jenkins离线安装插件
    摘自:https://blog.csdn.net/ukaorz/article/details/127735276phi插件下载通过如下Link访问插件地址官方Jenkins插件清华https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/ 在这里搜索你要下载的插件名称如:搜索theme来查找simpletheme 根据自己的Jenkins服务器的......
  • .NET Core RSA 指南与增强扩展 RSAExtensions
    .NETCoreRSA指南与增强扩展RSAExtensions 一.前言#RSA作为最常用的非对称加密算法,在我们的实际使用中还是比较常见的,特别是对接支付十有八九都会遇到,或者是其他需要数据安全的业务场景。在.NETFramework以及.NETCore❤️.0时,.NET自带的RSA对象仅支持XML标准形......
  • Java-IDEA的基础设置及插件安装,让IDEA更好用!
     Java-IDEA的基础设置及插件安装,让IDEA更好用!IDEA简单配置教程:https://mp.weixin.qq.com/s/Z5QLYyvjiiS0xg9wpSTvewIDEA高效使用插件:https://mp.weixin.qq.com/s/ShnHX9uxd4esiYHOA8TZvQIDEA快捷键操作指南:https://blog.csdn.net/qq_38963960/article/details/89552704 ......
  • Spring Boot 之 Mybatis Plus 分页插件
    创建分页插件所在的类MybatisPlusConfiguration,并添加注解@Configuration在配置类中添加以下代码@BeanpublicMybatisPlusInterceptormybatisPlusInterceptor(){/***MybatisPlusInterceptor是插件主体,管理所有的插件*/MybatisPlusInterceptorinter......
  • Android 中高级面试原理:热修复与插件化基础—Java与Android虚拟机
    一、Java虚拟机(JVM)1、JVM整体结构使用javac将java文件编译成class文件。类加载器(ClassLoader)将class字节码加载进JVM对应的内存中。JVM将内存分配给方法区、堆区、栈区、本地方式栈4个部分,这4个部分分别存储字节码不同的部分。垃圾回收器(gc)会管理整个内存空间中的垃圾。2、Java代码......
  • vscode插件
    bookmarksc/c++c/c++extensionpackCMakeCMakeToolsDevContainersDockerGitHistoryGitLenshighlight-wordsMarkdownAllinOneOneDarkProRemote-SSHROSTodoTreecatkin-tools......