ASP.NET Core 3.0 React 应用程序错误:代理失败

ASP.NET Core 3.0 React app errors: failed to proxy

(仅供参考,这是我第一个任何类型的 Microsoft 项目,我不熟悉代理服务器等技术,所以我对问题的描述可能不是最好的)。

过去一个月左右,我一直在开发 ASP.NET Core 3.0(预览版)React 应用程序,没有任何问题。上周五我开始更新网络 api 以从数据库中提取数据以在 UI 中绘制图表。这周我从中断的地方继续,但我的项目现在启动时出错。

自上次工作以来发生的事件...我在星期五安装并短暂使用了 Fiddler 来 运行 一些 api 调用,但随后切换到 Postman。一切都很好,我离开了一切 运行ning(可能已经关闭了 Fiddler,不记得了)。这周我做了一些数据库更改(通过 Fluent API 设置了一个 multi-column 索引)并向数据库(SQL 服务器)添加了更多数据。然后我继续在网络上工作 api 从 Postman 中的请求开始,但它出错了。我去查看应用程序 UI,但也出错了。

经过两天的 googling/troubleshooting 我认为给出的最有用的错误是下面的错误。从错误消息来看,我不知道端口 50158 来自哪里。应用程序在 https://localhost:44398/ 加载。我在我的整个计算机上搜索了“50158”,但只在 IIS 日志文件中找到了它。这是每个日志文件中的前 4 行。每个文件的其余部分仅提及“44398”。

已成功注册 URL“https://localhost:44398/”站点 "MyAwesomeApplication" 应用程序“/” 已成功为站点 "MyAwesomeApplication" 应用程序“/”注册 URL“http://localhost:50158/” 网站注册完成 "MyAwesomeApplication" 请求开始:"GET"https://localhost:44398/

我在 SO 上发现了一些提到 Fiddler 导致与此错误类似的问题的帖子,但是,它们并没有帮助我解决问题。

SO 上的一些帖子提到在 Internet 属性 > 连接 > LAN 设置中取消选中 "Automatically detect settings"。在我的电脑上确实没有勾选

我尝试过的一些事情:

我使用所有相同的规范创建了一个新项目,但出现了相同的错误。

我完全删除了 Fiddler。

我还原了最新的数据库更改。

这个问题是从哪里来的,我需要做什么来解决它?

如果更多(和什么)信息有用,请告诉我。这个问题超出了我当前的知识库。

#

错误消息(抱歉,不确定如何正确格式化)

处理请求时出现未处理的异常。 SocketException:无法建立连接,因为目标机器主动拒绝。 System.Net.Http.ConnectHelper.ConnectAsync(字符串主机,整数端口,CancellationToken cancellationToken)

HttpRequestException: 无法建立连接,因为目标机器主动拒绝。 System.Net.Http.ConnectHelper.ConnectAsync(字符串主机,整数端口,CancellationToken cancellationToken)

HttpRequestException: 无法将请求代理到 http://localhost:50158/,因为对代理目标的请求失败。检查代理目标服务器是否正在 运行ning 并接受对 http://localhost:50158/.

的请求

底层异常消息是 'No connection could be made because the target machine actively refused it.'。查看 InnerException 了解更多详细信息。 Microsoft.AspNetCore.SpaServices.Extensions.Proxy.SpaProxy.PerformProxyRequest(HttpContext 上下文,HttpClient httpClient,Task baseUriTask,CancellationToken applicationStoppingToken,bool proxy404s)

堆栈查询 Cookie Headers 路由 SocketException:无法建立连接,因为目标机器主动拒绝。 System.Net.Http.ConnectHelper.ConnectAsync(字符串主机,整数端口,CancellationToken cancellationToken)

显示原始异常详细信息 HttpRequestException: 由于目标机器主动拒绝,无法建立连接。 System.Net.Http.ConnectHelper.ConnectAsync(字符串主机,整数端口,CancellationToken cancellationToken) System.Threading.Tasks.ValueTask.get_Result() System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage 请求, bool allowHttp2, CancellationToken cancellationToken) System.Threading.Tasks.ValueTask.get_Result() System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage 请求,CancellationToken cancellationToken) System.Threading.Tasks.ValueTask.get_Result() System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage 请求,CancellationToken cancellationToken) System.Threading.Tasks.ValueTask.get_Result() System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage 请求,bool doRequestAuth,CancellationToken cancellationToken) System.Net.Http.HttpClient.FinishSendAsyncUnbuffered(任务发送任务,HttpRequestMessage 请求,CancellationTokenSource cts,bool disposeCts) Microsoft.AspNetCore.SpaServices.Extensions.Proxy.SpaProxy.PerformProxyRequest(HttpContext 上下文,HttpClient httpClient,Task baseUriTask,CancellationToken applicationStoppingToken,bool proxy404s)

显示原始异常详细信息 HttpRequestException:无法将请求代理到 http://localhost:50158/,因为对代理目标的请求失败。检查代理目标服务器是否正在 运行ning 并接受对 http://localhost:50158/ 的请求。底层异常消息是 'No connection could be made because the target machine actively refused it.'。查看 InnerException 了解更多详细信息。 Microsoft.AspNetCore.SpaServices.Extensions.Proxy.SpaProxy.PerformProxyRequest(HttpContext 上下文,HttpClient httpClient,任务 baseUriTask,CancellationToken applicationStoppingToken,bool proxy404s) Microsoft.AspNetCore.Builder.SpaProxyingExtensions+<>c__DisplayClass2_0+d.MoveNext() Microsoft.AspNetCore.Builder.RouterMiddleware.Invoke(HttpContext httpContext) IdentityServer4.Hosting.IdentityServerMiddleware.Invoke(HttpContext 上下文,IEndpointRouter 路由器,IUserSession session,IEventSer冰事件) IdentityServer4.Hosting.MutualTlsTokenEndpointMiddleware.Invoke(HttpContext 上下文,IAuthenticationSchemeProvider 方案) Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext 上下文) IdentityServer4.Hosting.BaseUrlMiddleware.Invoke(HttpContext 上下文) Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext 上下文) Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.MigrationsEndPointMiddleware.Invoke(HttpContext 上下文) Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.DatabaseErrorPageMiddleware.Invoke(HttpContext httpContext) Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.DatabaseErrorPageMiddleware.Invoke(HttpContext httpContext) Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext 上下文)

显示原始异常详细信息

我决定尝试将所有 NuGet 包升级到以前的版本 (v3.0.0-preview5-19227)。我的应用程序现在可以按预期运行。查看 dotnet-core 的下载页面,v3.0.0-preview6 似乎是在 06/12 发布的。我在那之前就开始了我的项目,所以也许我更新了包,只是不记得了???无论哪种方式,时间都可以弥补失去的 2 天。

对我来说,这与 cookie 大小对于开发服务器来说太大有关。

我正在开发一个 React 客户端应用程序,该应用程序由 ASP.NET Core 3.1 提供,Keycloak 作为 OP。

Fresh React 模板也突然不再启动了。 清除 cookie 让我的项目重新开始。

参考: https://techcommunity.microsoft.com/t5/iis-support-blog/400-error-in-asp-net-core-project-because-of-8-kb-cookie-limit/bc-p/1308877#M431