ਮੰਨ ਲਓ east.proxy.example ਅਤੇ west.proxy.example ਇੱਕੋ ਸਾਧਾਰਨ HTTP ਪ੍ਰੌਕਸੀ ਸਰੋਤੇ ਵੱਲ ਜਾਂਦੇ ਹਨ। ਕੋਈ ਵੀ ਨਾਮ ਵਰਤਣ ਵਾਲਾ ਕਲਾਇੰਟ ਭੇਜ ਸਕਦਾ ਹੈ:

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

ਬੇਨਤੀ ਵੈੱਬਸਾਈਟ ਦੀ ਪਛਾਣ ਕਰਦੀ ਹੈ। TCP ਖੋਲ੍ਹਣ ਤੋਂ ਪਹਿਲਾਂ ਕਲਾਇੰਟ ਵੱਲੋਂ ਹੱਲ ਕੀਤਾ ਪ੍ਰੌਕਸੀ ਉਪਨਾਮ ਇਹ ਨਹੀਂ ਲੈ ਜਾਂਦੀ। ਇਸ ਲਈ Host ਤੋਂ ਪ੍ਰਾਪਤ Express ਹੋਸਟਨਾਮ ਉਹਨਾਂ ਪ੍ਰੌਕਸੀ ਸਬਡੋਮੇਨਾਂ ਦੇ ਆਧਾਰ 'ਤੇ ਰਸਤਾ ਨਹੀਂ ਚੁਣ ਸਕਦਾ।

ਜੇ ਤੁਸੀਂ ਕਲਾਇੰਟ ਅਤੇ ਪ੍ਰੌਕਸੀ ਨਿਯੰਤਰਿਤ ਕਰਦੇ ਹੋ, ਤਾਂ ਸਪਸ਼ਟ ਰਾਊਟਿੰਗ ਇਨਪੁੱਟ ਦਿਓ। X-Route ਲੇਬਲ ਲਾਗੂ ਕਰਨ ਵਾਲੀ ਪ੍ਰੌਕਸੀ ਲਈ:

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

--proxy-header ਪ੍ਰੌਕਸੀ ਨਾਲ ਸੰਚਾਰ ਨੂੰ ਨਿਸ਼ਾਨਾ ਬਣਾਉਂਦਾ ਹੈ, CONNECT ਸਮੇਤ। HTTPS ਬੇਨਤੀ ਉੱਤੇ ਸਾਧਾਰਨ -H ਹੈਡਰ ਮੰਜ਼ਿਲ ਦੇ ਐਨਕ੍ਰਿਪਟਿਡ HTTP ਲੈਣ-ਦੇਣ ਦੇ ਅੰਦਰ ਆਉਂਦਾ ਹੈ।

ਸਰਵਰ ਨੂੰ ਰਾਊਟਿੰਗ ਨੀਤੀ ਲਾਗੂ ਅਤੇ ਅਧਿਕ੍ਰਿਤ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ, ਫਿਰ ਲੇਬਲ ਨੂੰ ਵੈੱਬਸਾਈਟ ਨੂੰ ਭੇਜੇ ਬਿਨਾਂ ਵਰਤਣਾ ਚਾਹੀਦਾ ਹੈ। ਬਦਲ ਵਜੋਂ, ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਸੰਰਚਿਤ ਸੁਣਨ ਵਾਲੇ ਐਂਡਪਾਇੰਟ ਜਾਂ ਪ੍ਰੌਕਸੀ ਖਾਤਿਆਂ ਨੂੰ ਰਾਊਟਿੰਗ ਇਨਪੁੱਟ ਵਜੋਂ ਵਰਤੋ।

HTTPS ਮੰਜ਼ਿਲਾਂ ਲਈ, Node ਆਪਣੇ HTTP ਸਰਵਰ ਦੇ connect ਈਵੈਂਟ ਰਾਹੀਂ ਸ਼ੁਰੂਆਤੀ ਟਨਲ ਬੇਨਤੀ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ। ਸਾਧਾਰਨ Express ਬੇਨਤੀ ਮਿਡਲਵੇਅਰ ਉਹ ਈਵੈਂਟ ਨਹੀਂ ਸੰਭਾਲਦਾ। CONNECT ਟਾਰਗਿਟ ਅਜੇ ਵੀ ਮੰਜ਼ਿਲ ਸਰਵਰ ਦੀ ਪਛਾਣ ਕਰਦਾ ਹੈ, ਪ੍ਰੌਕਸੀ ਉਪਨਾਮ ਦੀ ਨਹੀਂ।

ਸੰਬੰਧਿਤ ਲੇਖ