Tornado-proxy-opsies vereis die regte HTTP-agtergrond
Kontroleer Tornado se aktiewe HTTP-kliëntimplementering voordat proxy-versoekopsies opgestel word.
Tornado bied een asinchrone HTTP-kliëntkoppelvlak met verskillende implementerings daaronder. Proxy-opsies kan dus misluk weens die gekose implementering, selfs wanneer die proxy-eindpunt korrek is.
Die dokumentasie vir die HTTP-kliënt wys SimpleAsyncHTTPClient as die verstekimplementering aan en dokumenteer die curl-gebaseerde alternatief. Versoekopsies soos proxy_host het implementeringspesifieke ondersteuningsnotas. Lees daardie notas voordat jy opsies by 'n fetch-oproep voeg.
Stel op voordat die kliënt geskep word
Vir 'n omgewing wat reeds die curl-agtergrond het, kan 'n toepassing dit kies voordat die gedeelde kliënt geskep word:
from tornado.httpclient import AsyncHTTPClient
AsyncHTTPClient.configure('tornado.curl_httpclient.CurlAsyncHTTPClient')
client = AsyncHTTPClient()
Gebruik dan die gedokumenteerde versoekopsies vir proxy-gasheer, poort, verifikasie en tydsverloop vir die beoogde oproep. Hou die gasheernaam apart van die numeriese poort. Die keuse van die agtergrond kies nie op sigself 'n proxy-eindpunt nie. Vir 'n toegelate publieke HTTP-roete bied die HTTP-proxelys gasheer- en poortkandidate vir daardie versoekopsies.
Die skepping van die kliënt is belangrik omdat 'n toepassing of raamwerk 'n HTTP-kliënt kan skep en behou voordat hierdie kode loop. Ondersoek die werklike instansie wat vir die mislukte versoek gebruik is, eerder as om later 'n ander kliënt te skep en te aanvaar dat dit die eerste een verduidelik.
Vir diagnose, teken die aktiewe agtergrond en sy onderliggende biblioteekweergawe saam met die mislukte stadium aan. Onderskei 'n onondersteunde versoekopsie van 'n netwerktydsverloop en van 'n HTTP-antwoord wat deur die proxy teruggegee is. Daardie waarnemings lei tot verskillende regstellings.