如何解决带有 Ocelot 网关的 signalR 集线器
我创建了一个虚拟解决方案,然后尝试通过 Ocelot Api 网关将 MVC 客户端与 signalR 集线器连接。
ocelot 适用于其他 http/https 端点,但不适用于 signalR websocker
MVC 客户端端口 => 5010
豹猫网关 => 5006
signalR 集线器 => 5008
{
"Routes": [
{
"DownstreamPathTemplate": "/WeatherForecast","DownstreamScheme": "https","DownstreamHostAndPorts": [
{
"Host": "localhost","Port": 5003
}
],"UpstreamPathTemplate": "/WeatherForecast","UpstreamHttpMethod": [ "Get" ]
},{
"DownstreamPathTemplate": "/{catchAll}","DownstreamScheme": "ws","Port": 5008
}
],"UpstreamPathTemplate": "/hub/{catchAll}","UpstreamHttpMethod": [ "GET","POST","PUT","DELETE","OPTIONS" ]
}
],"GlobalConfiguration": {
"BaseUrl": "https://localhost:5006"
}
}
ocelot 项目启动.cs
app.UseWebSockets();
app.USEOcelot().Wait();
我遇到了这个错误
Ocelot.Responder.Middleware.ResponderMiddleware[0] requestId:0HM6825K74EEF:0000000F,prevIoUsRequestId:没有先前的请求ID,消息:错误代码:ConnectionTodownstreamServiceError 消息:连接到下游服务时出错,异常:System.Net.Http.HttpRequestException:发送请求时发生错误。 ---> System.IO.IOException: 响应提前结束。 在 System.Net.Http.httpconnection.FillAsync(布尔异步) 在 System.Net.Http.httpconnection.ReadNextResponseHeaderLineAsync(Boolean async,Boolean foldedHeadersAllowed) 在 System.Net.Http.httpconnection.SendAsyncCore(HttpRequestMessage 请求,布尔异步,CancellationToken 取消令牌) --- 内部异常堆栈跟踪结束 --- 在 System.Net.Http.httpconnection.SendAsyncCore(HttpRequestMessage 请求,布尔异步,CancellationToken 取消令牌) 在 System.Net.Http.httpconnectionPool.SendWithRetryAsync(HttpRequestMessage 请求,布尔异步,布尔 doRequestAuth,CancellationToken 取消令牌) 在 System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage 请求,布尔异步,CancellationToken 取消令牌) 在 System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request,HttpCompletionoption completionoption,Boolean async,Boolean emitTelemetryStartStop,CancellationToken cancelationToken) 在 Ocelot.Requester.HttpClientHttpRequester.GetResponse(HttpContext httpContext) 在 ResponderMiddleware 中发现错误。设置请求路径错误响应:/hub/negotiate,请求方式:POST
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。