前言:

继上篇: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. Windows注册表中修改UAC(用户账号控制)及批处理脚

    我在windows电脑上安装软件时,或者设置开机启动软件时,会先弹出提示框: 用户账户控制 你要允许此应用对你的设备进行更改吗? 很烦人,我不想每次都提醒.需要关闭"用户账户控制" ...

  2. [数据库/MYSQL]#解决缺陷#设置Unique索引时:"[Err] 1071 - Specified key was too long; max key length is 767 bytes"

    1 问题复现 原表结构: CREATE TABLE `XX_TEMPERATURE` ( `FLOW_ID` int(11) NOT NULL COMMENT '独立的数据表或FTP唯一标识', -- ...

  3. 四月二十四号java基础知识

    1.输入输出是指程序与外部设备或其他计算机进行交互的操作2.流(stream)是指计算机各部件之间的数据流动流的内容上划分:流分为字节流和字符流3.输入流:将数据从外设或外存(如键盘.鼠标.文件等)传 ...

  4. linux 安装 node 和 npm 服务

    1.安装文件下载 下载地址:https://nodejs.org/zh-cn/download/ 2.安装步骤 1.将安装包上传到指定位置(我习惯放到:/usr/local/application/目 ...

  5. 使用CURL调用接口[*示例*]

    <?php header("content-type:text/html;charset=utf-8"); /* 这是 使用CURL调用接口 */ $ch = curl_in ...

  6. 基于Containerd容器引擎和kubeadm工具部署K8sv1.26.3

    前文我了解了基于ubuntu2204部署containerd容器引擎以及containerd客户端工具的部署和使用相关话题,回顾请参考:https://www.cnblogs.com/qiuhom-1 ...

  7. 【FAQ】关于华为推送服务因营销消息频次管控导致服务通讯类消息下发失败的解决方案

    一. 问题描述 使用华为推送服务下发IM消息时,下发消息请求成功且code码为80000000,但是手机总是收不到消息: 在华为推送自助分析(Beta)平台查看发现,消息发送触发了频控. 二. 问题原 ...

  8. 借助 APISIX Ingress,实现与注册中心的无缝集成

    作者张晋涛,API7.ai 云原生技术专家,Apache APISIX PMC 成员,Apache APISIX Ingress Controller 项目维护者. 原文链接 云原生场景下是否需要服务 ...

  9. 第7章. 部署到GiteePages

    Gitee Pages 是一个免费的静态网页托管服务,您可以使用 Gitee Pages 托管博客.项目官网等静态网页.如果您使用过 Github Pages 那么您会很快上手使用 Gitee 的 P ...

  10. springboot整合cas回调地址使用nginx配置出错

    nginx配置后台为 location /apis springboot基础cas回调时访问地址为nginx域名+apis回调.为什么没有成功.页面只回调域名+登录方法路径,而不是域名+apis+登录 ...