Ошибка 502 при отправке запроса на шлюз Api (Ocelot-Consul)C#

Место общения программистов C#
Ответить
Anonymous
 Ошибка 502 при отправке запроса на шлюз Api (Ocelot-Consul)

Сообщение Anonymous »

Каждый из сервисов отдельно отвечает на поступающие запросы, но при отправке запроса на apigateway получается ошибка 502. Службы прописываются в Консуле.
Файл настроек Ocelot выглядит следующим образом:

Код: Выделить всё

{ "Routes": [ { "ServiceName": "UserManagement", "DownstreamPathTemplate": "/api/v1/Users/{everything}", "DownstreamScheme": "http", "UpstreamPathTemplate": "/api/v1/Users/{everything}", "UpstreamHttpMethod": [ "Get" ] } ], "GlobalConfiguration": { "UseServiceDiscovery": true, "ReRoutesCaseSensitive": false, "ServiceDiscoveryProvider": { "Scheme": "http", "Host": "localhost", "Port": 8500, "Type": "Consul" } } }
Ошибка:
предупреждение: Ocelot.Responder.Middleware.ResponderMiddleware[0]
requestId: 0HN4IDB2FPUML:00000002, previousRequestId: нет previousRequestId, сообщение: «Код ошибки: ConnectionToDownstreamServiceError Сообщение: ошибка подключения к нисходящей службе, исключение: System.Net.Http.HttpRequestException: такой хост неизвестен. (server-1:5080)
---> System.Net.Sockets.SocketException (11001): такой хост неизвестен.
в System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError) ошибка, CancellationToken cancelToken)
в System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
в System.Net.Sockets.Socket.g__WaitForConnectWithCancellation| 285_0(AwaitableSocketAsyncEventArgs saea, ValueTask ConnectTask, CancellationToken cancelToken)
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String хост, порт Int32, HttpRequestMessage InitialRequest, Boolean async, CancellationToken cancelToken)
--- Конец трассировка внутреннего стека исключений ---
в System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String хост, порт Int32, HttpRequestMessage InitialRequest, Boolean async, CancellationToken cancelToken)
в System.Net.Http.HttpConnectionPool. ConnectAsync(запрос HttpRequestMessage, Boolean async, CancellationToken cancelToken)
at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(запрос HttpRequestMessage, Boolean async, CancellationToken cancelToken)
at System.Net.Http.HttpConnectionPool.AddHttp11 ConnectionAsync( QueueItem очередьItem)
в System.Threading.Tasks.TaskCompletionSourceWithCancellation

Код: Выделить всё

1.WaitWithCancellationAsync(CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.HttpConnectionWaiter
1.WaitForConnectionWithTelemetryAsync(запрос HttpRequestMessage, пул HttpConnectionPool, Boolean async, CancellationToken requestCancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(запрос HttpRequestMessage, Boolean async, Boolean doRequestAuth, cellationToken cancelToken)
at System.Net.Http.DiagnosticsHandler.SendAsyncCore(запрос HttpRequestMessage, Boolean async, CancellationToken cancelToken)
at Ocelot.Requester.TimeoutDelegatingHandler.SendAsync(запрос HttpRequestMessage, CancellationToken cancelToken)
at System.Net.Http .HttpMessageInvoker.g__SendAsyncWithTelemetry|6_0(обработчик HttpMessageHandler, запрос HttpRequestMessage, CancellationToken cancelToken)
в Ocelot.Requester.MessageInvokerHttpRequester.GetResponse(HttpContext httpContext) ошибки, обнаруженные в ResponderMiddleware. Установка ответа об ошибке для пути запроса:/api/v1/Users/GetAll, метод запроса: GET'
Я ожидал получить список пользователей после отправки запроса на apigateway.Конечно, тип ошибки менялся каждый раз вместе с изменениями, которые я вносил в код, но код возврата был таким же, как 502.
Большинство сообщений об ошибках были связаны с проблемами в восходящем и нисходящем направлениях, который, видимо, необходимо было изменить в файле, содержащем файл настроек Ocelot.

Подробнее здесь: https://stackoverflow.com/questions/786 ... lot-cansul
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»