使用dotnet run运行RBX Rev网站应用时遇连接拒绝错误求助
解决RBX Rev托管时localhost:3185连接被拒绝的问题
问题概述
运行RBX Rev网站模块时,持续出现连接被拒绝的错误,核心表现为System.Net.Sockets.SocketException (10061)——目标机器主动拒绝localhost:3185的连接。已尝试关闭防火墙、禁用杀毒软件及代码检查,问题仍未解决。
错误日志
[info] ConnectionManager在ws连接中出错:无法连接到远程服务器 fail: Microsoft.AspNetCore.Server.Kestrel[13] 连接ID "0HN17IBGMV6UU",请求ID "0HN17IBGMV6UU:00000003":应用程序抛出未处理的异常。 System.Net.Http.HttpRequestException: 无法建立连接,因为目标机器主动拒绝了连接。(localhost:3185) System.Net.Sockets.SocketException (10061): 无法建立连接,因为目标机器主动拒绝了连接。 at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken) at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token) at System.Net.Sockets.Socket.g__WaitForConnectWithCancellation|277_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken) --- 内部异常堆栈跟踪结束 --- at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(HttpRequestMessage request) at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken) at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) at Roblox.Website.Middleware.FrontendProxyMiddleware.ProxyRequestAsync(String url) in C:\Users\august\Documents\ecs\ecsagaun\services\Roblox\Roblox.Website\Middleware\FrontendProxyMiddleware.cs:line 109 at Roblox.Website.Middleware.FrontendProxyMiddleware.InvokeAsync(HttpContext ctx) in C:\Users\august\Documents\ecs\ecsagaun\services\Roblox\Roblox.Website\Middleware\FrontendProxyMiddleware.cs:line 186 at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext) at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider) at Roblox.Website.Middleware.ApplicationGuardMiddleware.InvokeAsync(HttpContext ctx) in C:\Users\august\Documents\ecs\ecsagaun\services\Roblox\Roblox.Website\Middleware\ApplicationGuardMiddleware.cs:line 394 at Roblox.Website.Middleware.CsrfMiddleware.InvokeAsync(HttpContext ctx) in C:\Users\august\Documents\ecs\ecsagaun\services\Roblox\Roblox.Website\Middleware\CsrfMiddleware.cs:line 207 at Roblox.Website.Middleware.RobloxPlayerCorsMiddleware.InvokeAsync(HttpContext ctx) in C:\Users\august\Documents\ecs\ecsagaun\services\Roblox\Roblox.Website\Middleware\CorsMiddleware.cs:line 46 at Roblox.Website.Middleware.SessionMiddleware.InvokeAsync(HttpContext ctx) in C:\Users\august\Documents\ecs\ecsagaun\services\Roblox\Roblox.Website\Middleware\SessionMiddleware.cs:line 170 at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application) [info] ws连接处于Closed状态,正在重新连接 [info] ConnectionManager在ws连接中出错:无法连接到远程服务器
排查与解决方案
确认3185端口监听状态
打开命令提示符,执行以下命令检查端口是否被占用:netstat -ano | findstr ":3185"若无返回结果,说明无程序监听该端口,需检查RBX Rev依赖的后台服务是否未启动,或配置文件中的端口是否配置错误。
检查代理服务配置
查看FrontendProxyMiddleware.cs第109行的代理请求目标地址,确认是否指向localhost:3185的服务配置正确。同时检查RBX Rev的启动脚本或配置文件,确保所有依赖服务已正常启动。验证本地服务可用性
直接访问http://localhost:3185,若无法响应,说明该端口的服务未启动或启动失败,需查看对应服务的启动日志排查问题。解决端口冲突
若netstat显示3185被其他进程占用,通过PID结束该进程:taskkill /PID [进程ID] /F之后重新启动RBX Rev相关服务。
检查应用权限
尝试以管理员身份启动RBX Rev,确保程序有足够权限绑定端口和发起网络请求。
内容的提问来源于stack exchange,提问作者Klays
相关产品推荐
相关产品推荐

