ਜਦੋਂ ਪ੍ਰਕਿਰਿਆ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ ਤਾਂ ਇਸਦੀ ਬਿਲਟ-ਇਨ ਸਹਾਇਤਾ ਸਮਰੱਥ ਹੋਣ 'ਤੇ Node ਪ੍ਰੌਕਸੀ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਖੁਦ ਪੜ੍ਹ ਸਕਦਾ ਹੈ। ਉਪਲਬਧ ਕਲਾਇੰਟ ਰਨਟਾਈਮ ਸੰਸਕਰਣ 'ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹਨ:

  • ਬਿਲਟ-ਇਨ fetch Node 24.0.0 ਤੋਂ NODE_USE_ENV_PROXY ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ, 22.21.0 ਵਿੱਚ ਇਸਦਾ ਬੈਕਪੋਰਟ ਹੈ।
  • ਬਿਲਟ-ਇਨ node:http ਅਤੇ node:https ਸਹਾਇਤਾ ਉਹਨਾਂ ਦੇ ਡਿਫੌਲਟ ਗਲੋਬਲ ਏਜੰਟਾਂ ਰਾਹੀਂ 24.5.0 ਤੋਂ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ, 22.21.0 ਵਿੱਚ ਵੀ ਬੈਕਪੋਰਟ ਕੀਤੀ ਗਈ ਹੈ।
  • --use-env-proxy ਕਮਾਂਡ-ਲਾਈਨ ਸਵਿੱਚ 24.5.0 ਅਤੇ 22.21.0 ਤੋਂ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ।

ਅਨੁਕੂਲ ਰਿਲੀਜ਼ 'ਤੇ, ਇਹ POSIX-shell ਉਦਾਹਰਣ ਦੋਵਾਂ ਮੰਜ਼ਿਲ ਸਕੀਮਾਂ ਲਈ ਇੱਕ ਕਾਰਪੋਰੇਟ HTTP ਪ੍ਰੌਕਸੀ ਸੈੱਟ ਕਰਦੀ ਹੈ:

export HTTP_PROXY=http://proxy.example.net:8080
export HTTPS_PROXY=http://proxy.example.net:8080
export NO_PROXY=localhost,127.0.0.1,.internal.example

node --use-env-proxy app.js

HTTPS_PROXY ਨਾਮ HTTPS ਮੰਜ਼ਿਲਾਂ ਲਈ ਰਸਤਾ ਚੁਣਦਾ ਹੈ; URL ਅਜੇ ਵੀ HTTP ਪ੍ਰੌਕਸੀ ਦਾ ਨਾਮ ਦੇ ਸਕਦਾ ਹੈ। NO_PROXY ਨੂੰ ਉਹਨਾਂ ਮੰਜ਼ਿਲਾਂ ਲਈ ਸਮਾਯੋਜਿਤ ਕਰੋ ਜਿਨ੍ਹਾਂ ਨੂੰ ਇਸਨੂੰ ਬਾਈਪਾਸ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। ਪ੍ਰੌਕਸੀ ਖਾਤੇ ਤੋਂ ਬਿਨਾਂ ਸੁਤੰਤਰ ਜਨਤਕ-URL ਟੈਸਟ ਲਈ, HTTP ਪ੍ਰੌਕਸੀ ਸੂਚੀ ਤੋਂ ਇੱਕ HTTP ਐਂਟਰੀ ਦੋਵੇਂ ਪ੍ਰੌਕਸੀ ਮੁੱਲ ਪ੍ਰਦਾਨ ਕਰ ਸਕਦੀ ਹੈ ਜਦੋਂ ਕਿ ਲੋੜੀਂਦੇ ਅੰਦਰੂਨੀ ਬਾਈਪਾਸ ਬਚੇ ਰਹਿੰਦੇ ਹਨ।

ਵਾਤਾਵਰਣ-ਸਵਿੱਚ ਰੂਪ ਇੱਕ ਵਿਕਲਪ ਹੈ:

export NODE_USE_ENV_PROXY=1
node app.js

ਕਿਸੇ ਵੀ ਰੂਪ ਨਾਲ Node ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਰੂਟਿੰਗ ਵੇਰੀਏਬਲ ਸੈੱਟ ਕਰੋ। ਸਟਾਰਟਅਪ ਤੋਂ ਬਾਅਦ opt-in ਫਲੈਗ ਨੂੰ process.env ਨੂੰ ਸੌਂਪਣਾ ਸਟਾਰਟਅਪ ਸ਼ੁਰੂਆਤ ਨੂੰ ਦੁਬਾਰਾ ਨਹੀਂ ਚਲਾਉਂਦਾ।

ਅਸਲ ਵਿੱਚ ਵਰਤਿਆ ਜਾ ਰਿਹਾ HTTP ਕਲਾਇੰਟ ਜਾਂਚੋ

ਡਿਫੌਲਟ ਗਲੋਬਲ ਏਜੰਟ ਉਹਨਾਂ http ਅਤੇ https ਕਾਲਾਂ ਲਈ ਸੰਬੰਧਿਤ ਹਨ ਜੋ ਉਹਨਾਂ ਨੂੰ ਵਰਤਦੇ ਹਨ। ਆਪਣੇ ਕਸਟਮ ਏਜੰਟ ਜਾਂ ਡਿਸਪੈਚਰ ਵਾਲੀ ਲਾਇਬ੍ਰੇਰੀ ਆਪਣੀ ਆਪਣੀ ਆਵਾਜਾਈ ਨਿਯੰਤਰਿਤ ਕਰਦੀ ਹੈ; ਕੱਚੇ TCP ਸਾਕਟ ਇਸ HTTP ਰੂਟਿੰਗ ਵਿਸ਼ੇਸ਼ਤਾ ਤੋਂ ਬਾਹਰ ਹਨ। ਅਨੁਕੂਲ Undici ਕਲਾਇੰਟ ਲਈ, ਇੱਕ ਸਪਸ਼ਟ ProxyAgent ਡਿਸਪੈਚਰ ਇੱਕ ਵੱਖਰਾ ਕਲਾਇੰਟ-ਸਥਾਨਕ ਇੰਟਰਫੇਸ ਹੈ।

ਜੇਕਰ ਕੋਈ ਐਪਲੀਕੇਸ਼ਨ ਗਲੋਬਲ ਏਜੰਟ ਬਦਲਦੀ ਹੈ, ਤਾਂ ਇਹ ਮੰਨਣ ਤੋਂ ਪਹਿਲਾਂ ਕਿ ਇਹ ਸਟਾਰਟਅਪ ਪ੍ਰੌਕਸੀ ਵਿਵਹਾਰ ਬਰਕਰਾਰ ਰੱਖਦੀ ਹੈ, ਉਸ ਬਦਲੀ ਦੀ ਜਾਂਚ ਕਰੋ। ਇਸੇ ਤਰ੍ਹਾਂ, npm ਦੀ ਰਜਿਸਟਰੀ ਕੌਂਫਿਗਰੇਸ਼ਨ ਇੱਕ ਵੱਖਰੀ ਟੂਲ ਸੈਟਿੰਗ ਹੈ ਅਤੇ ਇਹ ਸਾਬਤ ਨਹੀਂ ਕਰਦੀ ਕਿ app.js ਬੇਨਤੀਆਂ ਨੂੰ ਕਿਵੇਂ ਰੂਟ ਕਰਦਾ ਹੈ।

ਕਾਰਪੋਰੇਟ TLS ਭਰੋਸੇ ਦੀ ਲੋੜ ਲਈ, ਰਨਟਾਈਮ ਲਈ ਢੁਕਵਾਂ ਭਰੋਸੇਯੋਗ CA ਕੌਂਫਿਗਰ ਕਰੋ। ਪ੍ਰੌਕਸੀ ਰੂਟਿੰਗ ਸਮਰੱਥ ਕਰਨ ਲਈ ਸਰਟੀਫਿਕੇਟ ਤਸਦੀਕ ਨੂੰ ਅਸਮਰੱਥ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ।

ਸੰਬੰਧਿਤ ਲੇਖ