Tutki epäonnistuneen proxy CONNECT -vastauksen runko curlilla
Lähetä oikein muodostettu diagnostinen CONNECT suoraan HTTP-välityspalvelimelle ja tallenna HTTP-virheen otsakkeet ja runko erikseen.
CONNECT-pyynnön hylkäävä välityspalvelin voi palauttaa HTTP-virheasiakirjan, joka selittää sen käytännön tai jatkoyhteyden epäonnistumisen. Valtuutettua diagnoosia varten tavallista HTTP-välityspalvelinta vastaan curl voi lähettää pyynnön suoraan ja tallentaa vastauksen:
curl --proxy '' --http1.1 --max-time 10 \
--request CONNECT \
--request-target service.example:443 \
--header 'Host: service.example:443' \
--dump-header tunnel.headers \
--output tunnel.body \
http://proxy.example:8080/
Lopullinen URL osoittaa välityspalvelimen kuuntelijaan. Sallittua julkisten välityspalvelimien vertailua varten HTTP-välityspalvelinluettelo tarjoaa ehdokkaita kyseiselle kuuntelija-URL:lle. --request antaa metoditunnisteen; --request-target antaa CONNECT-valtuuden. Niiden erillään pitäminen tuottaa CONNECT service.example:443 HTTP/1.1.
Tyhjä välityspalvelinvalinta estää curlilta tämän diagnoosin ohjaamisen toisen perityn välityspalvelimen kautta. Komento jättää --fail-valitsimen tarkoituksella pois, jotta HTTP-virheasiakirja voidaan säilyttää.
Todentamaton yritys voi pysähtyä 407:ään ennen tutkittavan vian saavuttamista. Käytä välityspalvelimen tarkoittamaa todentamisjärjestelyä, kun toistat todennettua pyyntöä.
Tämä on virhevastausten tutkimista varten. Jos välityspalvelin palauttaa 2xx:n, yhteydestä tulee tunneli tavallisen HTTP-rungon siirron sijaan. Tämä mukautetun metodin diagnoosi ei käynnistä kohteen TLS-vaihtoa ja voi saavuttaa aikarajansa hyväksytyssä avoimessa tunnelissa.
Käytä tavallista --proxy-pyyntövirtaa varsinaiseen HTTPS-hakuun. Säilytä diagnoosin tila ja runko niiden tietyn välityspalvelimen ja kohteen kanssa.