Tegyük fel, hogy a east.proxy.example és a west.proxy.example ugyanarra az egyszerű HTTP-proxyfigyelőre oldódik fel. Egy kliens, amely bármelyik nevet használja, ezt küldheti:

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

A kérés azonosítja a webhelyet. Nem hordozza azt a proxy-aliast, amelyet a kliens a TCP megnyitása előtt feloldott. Ezért az Express Hostból származtatott hosztneve nem tud útvonalat választani e proxy-alddomainek alapján.

Ha Ön irányítja a klienst és a proxyt, adjon meg kifejezett útválasztási bemenetet. Egy X-Route címkét megvalósító proxy esetén:

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

A --proxy-header a proxyval folytatott kommunikációt célozza, beleértve a CONNECT-et is. Az HTTPS-kérésen lévő közönséges -H fejléc a cél titkosított HTTP-cseréjébe tartozik.

A kiszolgálónak meg kell valósítania és engedélyeznie kell az útválasztási szabályzatot, majd fel kell használnia a címkét anélkül, hogy továbbítaná a webhelynek. Alternatívaként használjon külön beállított figyelővégpontokat vagy proxyfiókokat útválasztási bemenetként.

HTTPS-célok esetén a Node a kezdeti alagútkérelmet a HTTP-kiszolgálója connect eseményén keresztül kapja meg. A közönséges Express-kérésköztes szoftver nem kezeli ezt az eseményt. A CONNECT-célja továbbra is a célkiszolgálót azonosítja, nem a proxy-aliast.

Kapcsolódó cikkek