问题标签 [kestrel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
134 浏览

c# - 使用并发 ab 测试时,Kestrel 挂起

所以我有以下简单的代码:

我正在通过运行服务器

然后我尝试测试它:

json 文件是一个小{"test": 1}字符串。

一开始,请求的处理速度与预期的一样快。但是我发出的请求越多,Kestrel 的速度就越慢。在某些时候(通常在处理 16k 个请求之后)它会挂起并且ab工具超时。

有趣的是,如果我等待几秒钟并ab再次运行,它的工作原理完全相同。在某个时候(在 3/4 请求之后的某个地方)它会挂起并超时。所以看起来 Kestrel 在某个时候会自动处理“挂起”请求,并再次准备好再次被阻止。

我已将最大打开文件描述符限制增加到 100000,但这根本不影响行为。我也和 Kestrel 一起玩过,options但结果还是一样。

是什么原因造成的?我该如何解决?

我正在使用 macOS High Sierra 10.13.2 和 dotnet 核心版本 2.1.3。这种行为与 macOS 有关吗?

编辑:我要结束我自己的问题。这实际上一个 macOS 问题。

0 投票
0 回答
388 浏览

android - 带有 Kestrel 的 ASP .Net Core 实现 SSL

在我的网站上实施 ssl 时我遇到了问题。我的网络作为 android 和 ios 的网络服务工作。一切都很顺利,直到我实施 SSL 证书,突然 android(除了三星之外的大部分 android)抛出这个错误:

E/ErrorHTTP:java.security.cert.CertPathValidatorException:找不到证书路径的信任锚。

然后我谷歌并降落到这里:

  1. 谷歌说这个错误
  2. 支持谷歌声明
  3. 解决错误以接​​受无效的 ssl

它说这主要是因为:

  1. 颁发服务器证书的 CA 未知

  2. 服务器证书不是由 CA 签名的,而是自签名的

  3. 服务器配置缺少中间 CA

这三个选项已经排除,我已经用 ssl checker 进行了检查。以上都不是,不是未知的,不是自签名的,我们使用的是comodo,中间证书和根证书也有效,你可以在这里查看:ssl checker for my link,你可以自己查看。

现在我被卡住了,证书是有效的。证书也可以在三星打开,但在其他一些品牌中不知何故失败,例如小米。我现在不知道在哪里看,是不是:

  1. ssl 配置,我需要继续挖掘,即使它在大多数验证器中标记为有效。
  2. 使android代码更容易受到攻击,甚至某些品牌也可以访问它,我的意思是是因为品牌还是如何?

我使用的规范:

  1. ASP .Net 核心 2.0。

  2. 红隼。

  3. 科莫多证书。

  4. 原生安卓。

请帮忙!,谢谢。

0 投票
2 回答
4141 浏览

c# - 从 ILogger 设置 Kestrel 输出颜色

我注意到在 ASP.NET Core 中设置不同的日志记录级别时,有时通过对 Entity Framework 的不同调用生成的日志记录输出等,控制台 ForeColor 更改为黄色、红色、蓝色等...

我认为能够对此窗口进行自定义颜色会很好(只是为了使我放入日志输出的内容更好地作为从我的代码发送到 ILogger 的消息)

我尝试以这种方式设置颜色(只是为了看看它是否会起作用)......

不幸的是,这不是那么简单,我必须在工厂中执行此操作,或者 ILogger 中的其他内容可以让我执行此操作 - 我想我会在这里询问,然后再开始在 Entity Framework Core 代码中进行挖掘以查看他们(微软)是如何做到的。

我尝试在 SO 和 MSDN 上搜索有关此主题的一些信息 - 我没有想出任何东西,所以如果它已经得到回答并且我只是在错误的地方寻找,我会提前道歉。

提前致谢!

0 投票
1 回答
2875 浏览

c# - webapi .net 核心让 nginx connect() 失败(111:连接被拒绝)

通过 nginx 使用 kestrel 和代理将我的 webapi dotnet 核心项目部署到 Ubuntu 服务器配置

我在文件中的代码Program.cs

在其中创建文件/etc/nginx/sites-available/default并创建符号链接/etc/nginx/sites-enable/default

我在 /etc/systemd/system/kestrel-project.service 中的文件

对于部署使用此脚本,它的工作直到今天

现在,当我在 pc 上的本地主机上启动我的 webapi 时 - webapi 运行良好并回答我的请求,但是从服务器我收到 HTTP 错误 500,/var/log/nginx/error.log我看到了这个

请帮助我理解这个问题并解决它

没有更改 webapi 可以很好地工作很长时间但是几天前我开始出现这些错误

0 投票
0 回答
1738 浏览

nginx - Nginx 反向代理到 ASP.net Core Kestrel 502 Bad Gateway 错误

我们在 Azure 网站应用服务前面有 Nginx 反向代理,由 ASP.net Core 程序在 IIS 上使用 Kestrel 构建。

但是,只有少数人收到 502 Bad Gateway 错误。

有没有人遇到过类似的问题或有解决方案?

0 投票
0 回答
78 浏览

.net-core - Kestrel 似乎已启动,但在以其他用户身份运行时不起作用

我有一个在红隼上运行的小型 .net 核心 WebAPI 服务。这是使用 TFS 部署在多台机器上自动部署的。部署后,自动化工具会在每台部署的机器上运行这个 kestrel 服务器。我可以验证:

  • 应用程序在每台机器上启动(任务管理器中存在 dotnet 进程)
  • 应用程序侦听正确的端口(因为尝试在该端口上手动运行它会引发该端口正在使用的错误)

但:

  • 对于自动启动的应用程序,我无法在浏览器中访问 webapi 服务(http://localhost:8081)——说 404
  • 如果我关闭自动启动的 dotnet 进程并手动运行它,它可以正常工作(WebApi 可在浏览器中访问)

为什么自动启动时不能正常工作?进程之间的唯一区别似乎是它们执行的用户。我该如何解决这个问题?

0 投票
1 回答
2934 浏览

httpclient - 使用 System.Net.Http.HttpClient 时服务器返回无效或无法识别的响应错误

最近我将我的代码库从 .net core 1.0 迁移到 2.0 。之后,我随机收到错误“使用 System.Net.Http.HttpClient 时服务器返回无效或无法识别的响应错误” 。我在 100 个请求中有 2 个收到此错误。

还如何调试它,因为它是随机发生的:(

程序.cs

HTTP 网络文件

收到错误:

{"ClassName":"Flurl.Http.FlurlHttpException","Message":"GET https://xxx-yyy.oktapreview.com/api/v1/users/00ue1x6pgimMy2Zuf0h7失败。发送请求时出错。", "Data":{},"InnerException":{"ClassName":"System.Net.Http.HttpRequestException", "Message":"发送请求时出错。" ,"Data":{},"InnerException":{"ClassName":"System.Net.Http.WinHttpException", "Message":"服务器返回无效或无法识别的响应" ,"Data":{}," InnerException":null,"HelpURL":null,"StackTraceString":" 在 System.Runtime.ExceptionServices。1.GetResult()\r\n at System.Net.Http.WinHttpHandler.<StartRequest>d__105.MoveNext()","RemoteStackTraceString":null,"RemoteStackIndex":0,"ExceptionMethod":null,"HResult":-2147012744,"Source":"System.Private.CoreLib","WatsonBuckets":null,"NativeErrorCode":12152},"HelpURL":null,"StackTraceString":" at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult()\r\n 在 System.Net.Http.DiagnosticsHandler.d__2.MoveNext()\r\n--- 堆栈跟踪从先前引发异常的位置结束 ---\r\n在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)\r\n 在 System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult() \r\n 在 System.Net.Http.HttpClient.d__58.MoveNext()\r\n--- 堆栈跟踪从先前引发异常的位置结束 ---\r\n 在 System.Runtime.ExceptionServices。 ExceptionDispatchInfo.Throw()\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)\r\n 在 Flurl.Http.FlurlRequest.d__19.MoveNext()","RemoteStackTraceString":null,"RemoteStackIndex":0,"ExceptionMethod":null,"HResult":-2147012744,"Source":"System.Private.CoreLib","WatsonBuckets":null},"HelpURL":null}

0 投票
1 回答
4407 浏览

c# - IHostedService 无故停止

谁能向我解释为什么我的服务器无缘无故停止了?在我的 IHostedService 实现下面:

这是我的日志?

看起来像在 IIS 上使用 kestrel (.Net Core) 我的方法睡了吗?为什么?

通常我的while(true)重新启动,因为我调用了 API。但是IHostedService是一个后台任务,它不应该停止吗?

github上的相关帖子

0 投票
1 回答
3412 浏览

c# - 访问路径被拒绝,在 Ubuntu 上运行 Asp.net core 2.0

我无法使用下面的代码行。在我的开发机器(Windows)上它正在工作。是的,我正在 Windows 上开发应用程序并在 Ubuntu 上进行部署。下一个应用程序我不会这样做。

我收到错误消息“访问路径 /var/... 已定义”。

我使用 nginx 作为 Kestrel 的代理服务器。如Microsoft 指南中所述

我尝试随机触发一些权限命令,因为我远非 Ubuntu 专家,但 CreateDirectory 方法仍在产生错误。

我尝试过的权限命令:

我没有在 /var/www 中设置我的项目我正在使用 /var/anotherdir/anotherdir 之类的东西,这是一个问题吗?

0 投票
1 回答
1599 浏览

https - 带有红隼和反向代理的 Service Fabric https 端点

我一直在尝试按照我可以找到的 microsoft 文档和各种帖子/博客上的说明在无状态 API 端点上设置 Https。它在本地运行良好,但在我的开发服务器上部署它后我很难让它工作

在我在实例监听器中的代码中

服务清单

启动

+

这是我在 azure 中得到的(通过 ARM 模板部署)

我有一个集群证书、ReverseProxy 证书和通过 azure ad 和 ARM 对 api 的身份验证

不知道还有什么相关的,如果您有任何想法/建议,非常欢迎

编辑:GetCertificate() 的代码