Peržiūra:
Kai paleidžiate ocelot šliuzą, pranešama apie šią prieigos sąsajos klaidą:
Statuso kodas: 502; Blogas šliuzas Projektas yra ASP.NET Core 3.1,Ocelot naudojama versija yra 16.0.1
info: Ocelot.RateLimit.Middleware.ClientRateLimitMiddleware[0] requestId: 0HM8JAOKL2C09:00000006, ankstesnisRequestId: nėra ankstesnio užklausos ID, pranešimas: EndpointRateLimiting neįjungtas /{url}
warn: Ocelot.Responder.Middleware.ResponderMiddleware[0] requestId: 0HM8JAOKL2C09:00000006, ankstesnisRequestId: nėra ankstesnio užklausos ID, pranešimas: Klaidos kodas: ConnectionToDownstreamServiceError Message: Klaida jungiantis prie tolesnės paslaugos, išimtis: System.Net.Http.HttpRequestException: užklausos antraštėse turi būti tik ASCII simboliai. adresu System.Net.Http.HttpConnection.WriteStringAsync(String s) System.Net.Http.HttpConnection.WriteHeadersAsync(HttpHeaders antraštės, eilutės slapukaiFromContainer) System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage užklausa, CancellationToken cancellationToken) System.Net.Http.HttpConnectionPool.SendWithNtConnectionAuthAsync(HttpConnection ryšys, HttpRequestMessage užklausa, Bulio logikos doRequestAuth, CancellationToken cancellationToken) System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage užklausa, Bulio logikos doRequestAuth, CancellationToken cancellationToken) System.Net.Http.DiagnosticsHandler.SendAsync(HttpRequestMessage užklausa, CancellationToken cancellationToken) System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task'1 sendTask, HttpRequestMessage užklausa, CancellationTokenSource cts, Bulio logikos disposeCts) Ocelot.Requester.HttpClientHttpRequester.GetResponse(HttpContext httpContext) klaidos, rastos ResponderMiddleware. Užklausos kelio:/test1/home/index, užklausos metodo nustatymas: GET Naudodamas "Fiddler" paketams gaudyti taip, pastebėjau, kad sausainis turi kinišką eilutę:
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=测试
Naršyklė įrašo slapuko kodą (Ši kodo reikšmė neišvengiama) gali atkurti problemą:
Pabandykite ištuštinti slapukų talpyklą ir šliuzas grįš į normalią būseną, kaip parodyta paveikslėlyje žemiau:
Tarpinės programinės įrangos su "Ocelot" vykdymo tvarka yra tokia:
PreErrorResponderMiddleware Išankstinis autentifikavimasTarpinė programinė įranga AutentifikavimasTarpinė programinė įranga Išankstinis autorizavimasTarpinė programinė įranga AuthorizationMiddleware PreQueryStringBuilderMiddleware
(Pabaiga)
|