前言:

继上篇: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 .Net Core 微服务开源框架:Admin 插件【4-1】 - 配置管理-Kestrel【含https启用】的更多相关文章

  1. Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单。

    前方: 开源地址:https://github.com/cyq1162/Taurus.MVC 上篇文章介绍过:工业制造行业的低代码开发平台思维架构图 规划中涉及到了微服务,近些天经过努力和不断的代码与 ...

  2. .net core 自带分布式事务的微服务开源框架JMS

    事务的统一性是微服务的一个重点问题,简洁有效的控制事务,更是程序员所需要的.JMS的诞生,就是为了更简单.更有效的控制事务. 先看一段调用微服务的代码: using (var ms = new JMS ...

  3. 基于.NET CORE微服务框架 -surging的介绍和简单示例 (开源)

    一.前言 至今为止编程开发已经11个年头,从 VB6.0,ASP时代到ASP.NET再到MVC, 从中见证了.NET技术发展,从无畏无知的懵懂少年,到现在的中年大叔,从中的酸甜苦辣也只有本人自知.随着 ...

  4. ASP.NET Core微服务+Tabler前端框架搭建个人博客1--开始前想说的话

    写在前面 本人为在读研究生,特别喜欢.NET,觉得.NET的编程方式.语法都特别友好,学习.NET Core已经差不多有一年半了,从一开始不知道如何入门到现在终于可以编写一些小的应用程序,想一想还是非 ...

  5. (7)学习笔记 ) ASP.NET CORE微服务 Micro-Service ---- 利用Polly+AOP+依赖注入封装的降级框架

    创建简单的熔断降级框架 要达到的目标是: 参与降级的方法参数要一样,当HelloAsync执行出错的时候执行HelloFallBackAsync方法. public class Person { [H ...

  6. 携程框架Apollo实现.NET Core微服务统一配置(测试环境-单机)

    Apollo实现.NET Core微服务统一配置(测试环境-单机) https://www.cnblogs.com/guolianyu/p/10065999.html 一.前言 注:此篇只是为测试环境 ...

  7. net core 微服务框架 Viper 调用链路追踪

    1.Viper是什么? Viper 是.NET平台下的Anno微服务框架的一个示例项目.入门简单.安全.稳定.高可用.全平台可监控.底层通讯可以随意切换thrift grpc. 自带服务发现.调用链追 ...

  8. hello world .net core 微服务框架 Viper

    1.Viper是什么? Viper 是.NET平台下的Anno微服务框架的一个示例项目.入门简单.安全.稳定.高可用.全平台可监控.底层通讯可以随意切换thrift grpc. 自带服务发现.调用链追 ...

  9. .NET Core微服务之开源项目CAP的初步使用

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.CAP简介 下面的文字来自CAP的Wiki文档:https://github.com/dotnetcore/CAP/wiki CAP ...

  10. (6)学习笔记 ) ASP.NET CORE微服务 Micro-Service ---- AOP框架

    AOP 框架基础 要求懂的知识:AOP.Filter.反射(Attribute). 如果直接使用 Polly,那么就会造成业务代码中混杂大量的业务无关代码.我们使用 AOP (如果不了解 AOP,请自 ...

随机推荐

  1. k8s加入新的master节点出现etcd检查失败

        背景:     昨天在建立好新的集群后,出现了新的问题,其中的一台master节点无法正常工作.虽然可以正常使用,但是就出现了单点故障,今天在修复时出现了etcd健康检查自检没通过.      ...

  2. mysql迁移:mysqldump导出数据库

    问题描述:要将一个mysql中六个数据库导出来,使用mysqldump导出 mysqldump使用语法:mysqldump -uroot -p -S /data/mysql/db_itax_m/mys ...

  3. 从ajax到跨域引发的相关面试题总结

    转载请注明出处: 1.ajax异步和同步的区别 Ajax是一种基于JavaScript语言和XMLHttpRequest对象的异步数据传输技术,通过它可以使不用刷新整个页面的情况下,对页面进行部分更新 ...

  4. KB5024276 - SQL Server 2019 的累积更新 20

    发布日期: 2023/4/13 版本: 15.0.4312.2 摘要 此更新中的已知问题 此更新包括的改进和修补程序 如何获取或下载此或最新的累积更新包 文件信息 此更新注意事项 如何卸载此更新 参考 ...

  5. GraalVM(云原生时代的Java)和IoT在边缘侧落地与实践

    环顾四周,皆是对手! 云时代的掉队者,由于Java启动的高延时.对资源的高占用.导致在Serverless及FaaS架构下力不从心,在越来越流行的边缘计算.IoT方向上也是难觅踪影; Java语言在业 ...

  6. 记一次 Windows10 内存压缩模块 崩溃分析

    一:背景 1. 讲故事 在给各位朋友免费分析 .NET程序 各种故障的同时,往往也会收到各种其他类型的dump,比如:Windows 崩溃,C++ 崩溃,Mono 崩溃,真的是啥都有,由于基础知识的相 ...

  7. iptables四个表五条链

    iptables四个表五条链     其实关于iptables的使用网上的资料和教程也比较多,主要是要理解其中的路由前和路由后每个表和链所处的位置和作用,明白了也就简单了,以下是我转载的觉得写的比较详 ...

  8. csp-s2022游记

    ## 10.29### 民间数据:洛谷 $95+85+60+44=284$  infoj $90+40+40+44=214$  **输麻了**### 赛时经历开考前发现前面坐着 Qiuly,好可怕.开 ...

  9. 【Docker】镜像制作和管理

    一.Docker镜像说明 二.基于容器通过 docker commit 手动制作镜像 1.基于容器手动制作镜像步骤 1.下载官方系统镜像 2.基于官方基础镜像启动容器,并进入容器 3.在容器中进行配置 ...

  10. jQuery控制文本框只能输入数字[兼容IE、火狐等浏览器]

    $.fn.numeral=function(bl){//限制金额输入.兼容浏览器.屏蔽粘贴拖拽等 $(this).keypress(function(e){ var keyCode=e.keyCode ...