Опције проксија у Tornado-у захтевају исправан HTTP backend
Проверите активну имплементацију HTTP клијента у Tornado-у пре конфигурисања опција захтева преко проксија.
Tornado нуди једно асинхроно сучеље HTTP клијента, а испод њега стоје различите имплементације. Зато опције проксија могу да закажу због изабране имплементације, чак и када је крајња тачка проксија исправна.
Документација HTTP клијента наводи SimpleAsyncHTTPClient као подразумевану имплементацију и документује алтернативу засновану на curl-у. Опције захтева попут proxy_host имају напомене о подршци специфичне за имплементацију. Прочитајте те напомене пре додавања опција у позив fetch.
Конфигуришите пре стварања клијента
У окружењу које већ има curl backend, апликација може да га изабере пре стварања свог заједничког клијента:
from tornado.httpclient import AsyncHTTPClient
AsyncHTTPClient.configure('tornado.curl_httpclient.CurlAsyncHTTPClient')
client = AsyncHTTPClient()
Затим користите документоване опције захтева за хост, порт, аутентификацију и временско ограничење проксија за предвиђени позив. Држите име хоста одвојено од нумеричког порта. Избор backend-а сам по себи не бира крајњу тачку проксија. За дозвољену јавну HTTP руту листа HTTP проксија нуди кандидате за хост и порт за те опције захтева.
Стварање клијента је важно јер апликација или оквир може да створи и задржи HTTP клијент пре него што се овај код изврши. Прегледајте стварну инстанцу коришћену у неуспелом захтеву, уместо да касније правите други клијент и претпостављате да он објашњава први.
За дијагностику забележите активни backend и верзију његове основне библиотеке заједно са фазом у којој је дошло до грешке. Разликујте неподржану опцију захтева од мрежног временског ограничења и од HTTP одговора који је прокси вратио. Та запажања воде ка различитим исправкама.