Oletetaan, että east.proxy.example ja west.proxy.example ratkeavat samaksi tavalliseksi HTTP-välityspalvelimen kuuntelijaksi. Asiakas, joka käyttää kumpaa tahansa nimeä, voi lähettää:

GET http://www.example.org/report HTTP/1.1
Host: www.example.org

Pyyntö yksilöi verkkosivuston. Se ei kanna välityspalvelimen aliasta, jonka asiakas ratkaisi ennen TCP:n avaamista. Siksi Expressin Hostista johdettu isäntänimi ei voi valita reittiä noiden välityspalvelimen aliverkkotunnusten perusteella.

Jos hallitset asiakasta ja välityspalvelinta, tarjoa erillinen reitityssyöte. Välityspalvelimelle, joka toteuttaa X-Route-tunnisteen:

curl --proxy http://east.proxy.example:8080 \
  --proxy-header 'X-Route: east' \
  https://www.example.org/

--proxy-header kohdistuu viestintään välityspalvelimen kanssa, mukaan lukien CONNECT. Tavallinen -H-otsake HTTPS-pyynnössä kuuluu kohteen salattuun HTTP-vaihtoon.

Palvelimen on toteutettava ja valtuutettava reitityskäytäntö ja sitten käytettävä tunnistetta välittämättä sitä verkkosivustolle. Vaihtoehtoisesti käytä erikseen määritettyjä kuuntelupäätepisteitä tai välityspalvelintilejä reitityssyötteinä.

HTTPS-kohteille Node vastaanottaa alkuperäisen tunnelipyynnön HTTP-palvelimensa connect-tapahtuman kautta. Tavallinen Express-pyyntöjen väliohjelmisto ei käsittele tätä tapahtumaa. Sen CONNECT-kohde yksilöi edelleen kohdepalvelimen, ei välityspalvelimen aliasta.

Aiheeseen liittyvät artikkelit