|
|
Yayınlandı 10.05.2021 15:24:29
|
|
|
|

Eleştiri:
Ocelot gateway'i başlattığınızda, erişim arayüzü için aşağıdaki hata bildirilir:
Durum Kodu: 502; Kötü Geçit Proje ASP.NET Core 3.1,Ocelot tarafından kullanılan sürüm 16.0.1'dir
info: Ocelot.RateLimit.Middleware.ClientRateLimitMiddleware[0] requestId: 0HM8JAOKL2C09:00000006, previousRequestId: önceki istek kimliği yok, mesaj: /{url} için EndpointRateLimiting etkin değil
warn: Ocelot.Responder.Middleware.ResponderMiddleware[0] requestId: 0HM8JAOKL2C09:00000006, previousRequestId: önceki istek kimliği yok, mesaj: Hata Kodu: ConnectionToDownstreamServiceError Message: Down stream servisine bağlanma hatası, istisna: System.Net.Http.HttpRequestException: İstek başlıkları yalnızca ASCII karakterler içermelidir. at System.Net.Http.Http.HttpConnection.WriteStringAsync(String s) at System.Net.Http.Http.Connection.WriteHeadersAsync(HttpHeaders headers, String cookiesFromContainer) at System.Net.Http.Http.Connection.SendAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken) at System.Net.Http.Http.HttpConnectionPool.SendWithNtConnectionAuthAsync(HttpConnection connection, HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancelToken) at System.Net.Http.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken) at System.Net.Http.DiagnosticsHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) at System.Net.Http.Http.Client.FinishSendAsyncBuffered(Task'1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts) Ocelot.Requester.HttpClientHttpRequester.GetResponse(HttpContext httpContext) adresinde ResponderMiddleware'de bulunan hatalar bulundu. İstek yolu için hata yanıtı ayarlamak:/test1/home/index, talep yöntemi: GET Fiddler kullanarak paketleri şu şekilde yakaladım, kurabiyenin Çin dizisi olduğunu ve şu şekilde olduğunu gördüm:
Host: localhost:5002
Connection: keep-alive
Cache-Control: max-age=0
sec-ch-ua: "Google Chrome";v="89", "Chromium";v="89", ";Not A Brand";v="99"
sec-ch-ua-mobile: ?0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: aaa=测试
Tarayıcı bir çerez kodu yazar (Aşağıdaki kod değeri kaçırılmıyor) sorunu tekrar üretebilir:
Cookie önbelleğini boşaltmayı deneyin ve gateway aşağıdaki görselde gösterildiği gibi normale döner:
Ocelot ile ara varlıkın uygulama sırası şöyledir:
PreErrorResponderMiddleware PreAuthenticationMiddleware AuthenticationMiddleware PreAuthorisationMiddleware AuthorisationMiddleware PreQueryStringBuilderMiddleware
(Son)
|
Önceki:ASP.NET Core, tam URL bağlantısı isteğini alıyorÖnümüzdeki:Redis Benchmark performans testi
|