See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 40852|Vastuse: 0

[ASP.NET] Ocelot Request päised peavad sisaldama ainult ASCII märke

[Kopeeri link]
Postitatud 10.05.2021 15:24:29 | | | |
Läbivaatamine:

Ocelot seeria (1) ASP.NET Core Gateway praktikas
https://www.itsvse.com/thread-9284-1-1.html


Kui käivitad oceloti lüüsi, teatatakse juurdepääsuliidese kohta järgmine viga:
Staatuskood: 502; Halb värav                                                                                                                                                                                                                                                                                                                                                                                                                      
Projekt on ASP.NET Core 3.1,Oceloti kasutatav versioon on 16.0.1



info: Ocelot.RateLimit.Middleware.ClientRateLimitMiddleware[0]
      requestId: 0HM8JAOKL2C09:00000006, previousRequestId: eelmist päringu ID-d pole, sõnum: EndpointRateLimiting ei ole lubatud /{url} jaoks
warn: Ocelot.Responder.Middleware.ResponderMiddleware[0]
      requestId: 0HM8JAOKL2C09:00000006, previousRequestId: puudub eelnev päringu ID, sõnum: Veakood: ConnectionToDownstreamServiceError Message: Vea ühendus allavoolu teenusega, erand: System.Net.Http.Http.RequestException: Päringupäised peavad sisaldama ainult ASCII märke.
         aadressil System.Net.Http.Http.HttpConnection.WriteStringAsync(String s)
         aadressil System.Net.Http.Http.HttpConnection.WriteHeadersAsync(HttpHeaders headers, String cookiesFromContainer)
         aadressil System.Net.Http.Http.Connection.SendAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
         at System.Net.Http.Http.HttpConnectionPool.SendWithNtConnectionAuthAsync(HttpConnection connection, HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
         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)
         aadressil Ocelot.Requester.HttpClientHttpRequester.GetResponse(HttpContext httpContext) leiti vigu ResponderMiddleware'is. Veavastuse seadistamine päringu tee:/test1/home/index, päringu meetod: GET
Kasutades Fiddlerit järgmiste pakettide püüdmiseks, leidsin, et küpsisel on hiina keel, mis on järgmine:




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=测试


Brauser kirjutab küpsisekoodi (Järgmine koodiväärtus ei pääse välja) võib probleemi korrata:

Brauserikonsool kirjutab küpsiseid
https://www.itsvse.com/thread-4682-1-1.html
Proovi küpsistevahemälu tühjendada ja värav naaseb normaalseks, nagu alloleval pildil näha:



Middleware'i täitmise järjekord Ocelotiga on järgmine:

PreErrorResponderMiddleware
PreAuthenticationMiddleware
AuthenticationMiddleware
PreAuthorisationMiddleware
AuthorisationMiddleware       
PreQueryStringBuilderMiddleware


(Lõpp)




Eelmine:ASP.NET Core saab taotluse täieliku URL-lingi
Järgmine:Redis Benchmarki jõudlustest
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com