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.

Aiheeseen liittyvät artikkelit