curl ਰਿਮੋਟ URL ਦੀ ਥਾਂ localhost ਨਾਲ ਕਿਉਂ ਜੁੜਦਾ ਹੈ
VPN ਨੂੰ ਦੋਸ਼ ਦੇਣ ਤੋਂ ਪਹਿਲਾਂ ਵਿਰਾਸਤੀ ਪ੍ਰੌਕਸੀ, ਡਿਫ਼ਾਲਟ curlrc ਫ਼ਾਈਲ ਅਤੇ ਅਸਲ ਟੀਚੇ ਨੂੰ ਵੱਖ ਕਰੋ। ਤਿੰਨ ਨਿਯੰਤਰਿਤ ਰਨ TLS ਪੁਸ਼ਟੀ ਨੂੰ ਚਾਲੂ ਰੱਖਦੇ ਹਨ।
ਜੇ ਤੁਹਾਡੇ ਦਿੱਤੇ URL ਦੀ ਪਰਵਾਹ ਕੀਤੇ ਬਿਨਾਂ curl localhost ਨਾਲ ਜੁੜਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ, ਤਾਂ VPN ਸ਼ੁਰੂ ਕਰਨ ਦੀ ਗ਼ਲਤ ਥਾਂ ਹੈ. ਸਥਾਨਕ HTTP ਜਾਂ SOCKS ਪ੍ਰੌਕਸੀ ਉਹ ਇੱਛਤ ਪਹਿਲਾ ਕਨੈਕਸ਼ਨ ਹੋ ਸਕਦੀ ਹੈ, ਭਾਵੇਂ ਤੁਹਾਨੂੰ ਚਾਹੀਦੀ ਸੇਵਾ ਬਿਲਕੁਲ ਕਿਸੇ ਹੋਰ ਥਾਂ ਹੋਵੇ। ਜੇ ਉਹ ਪ੍ਰੌਕਸੀ ਹੁਣ ਨਹੀਂ ਚੱਲ ਰਹੀ, ਤਾਂ curl ਦੇ ਟੀਚੇ ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਪਹਿਲਾਂ ਹੀ localhost ਦੀ ਕੋਸ਼ਿਸ਼ ਫੇਲ੍ਹ ਹੋ ਜਾਂਦੀ ਹੈ। ਪ੍ਰੌਕਸੀ ਦਾ ਜਵਾਬ ਵੀ ਇਸ ਦਾ ਸਬੂਤ ਨਹੀਂ ਕਿ ਟੀਚੇ ਨੇ ਜਵਾਬ ਦਿੱਤਾ ਹੈ।
ਇਹ ਕਦਮ ਕ੍ਰਮ ਨਾਲ ਕਰੋ ਅਤੇ ਪਹਿਲੇ ਕਨੈਕਸ਼ਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਬਦਲਣ ਵਾਲੇ ਪਹਿਲੇ ਕਦਮ 'ਤੇ ਰੁਕੋ।
ਪਹਿਲਾਂ curl ਦੇ ਆਪਣੇ ਪ੍ਰੌਕਸੀ ਨਿਯਮ ਪੜ੍ਹੋ
curl ਪ੍ਰੋਟੋਕੋਲ-ਖ਼ਾਸ ਪ੍ਰੌਕਸੀ ਵੇਰੀਏਬਲ ਪੜ੍ਹਦਾ ਹੈ, ਜਿਵੇਂ https_proxy ਅਤੇ HTTPS_PROXY, ਨਾਲ ਹੀ ਜਦੋਂ ਕੋਈ ਪ੍ਰੋਟੋਕੋਲ-ਖ਼ਾਸ ਮੁੱਲ ਲਾਗੂ ਨਹੀਂ ਹੁੰਦਾ ਤਾਂ ALL_PROXY. curl ਨੂੰ ਅਸਲ ਵਿੱਚ ਚਲਾਉਣ ਵਾਲੇ ਸ਼ੈੱਲ, ਸੇਵਾ ਜਾਂ ਟਾਸਕ ਦਾ ਵਾਤਾਵਰਨ ਜਾਂਚੋ, ਤੁਹਾਡੇ ਮੌਜੂਦਾ ਟਰਮੀਨਲ ਦਾ ਨਹੀਂ। ਇੱਕ CI ਕੰਮ, ਇੱਕ systemd ਯੂਨਿਟ ਅਤੇ ਇੱਕ ਇੰਟਰੈਕਟਿਵ ਸ਼ੈੱਲ ਤਿੰਨ ਵੱਖਰੇ ਸੈੱਟ ਵਿਰਾਸਤ ਵਿੱਚ ਲੈ ਸਕਦੇ ਹਨ। ਦਿਸਦੇ ਸ਼ੈੱਲ ਤੋਂ ਅੰਦਾਜ਼ਾ ਲਾਉਣਾ ਹੀ ਇਸ ਜਾਂਚ ਦਾ ਪੂਰੀ ਦੁਪਹਿਰ ਬਰਬਾਦ ਕਰਨ ਦਾ ਕਾਰਨ ਹੈ।
ਇੱਕ ਅਪਵਾਦ ਯਾਦ ਰੱਖਣ ਯੋਗ ਹੈ। curl http_proxy ਨੂੰ ਸਿਰਫ਼ ਛੋਟੇ ਅੱਖਰਾਂ ਵਿੱਚ ਸਵੀਕਾਰ ਕਰਦਾ ਹੈ; ਵੱਡੇ ਅੱਖਰਾਂ ਵਾਲਾ HTTP_PROXY ਅਣਡਿੱਠਾ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਇਸ ਲਈ ਉਹੀ ਵਾਤਾਵਰਨ ਹੋਰ ਸੰਦਾਂ ਵਿੱਚ ਵੱਖਰਾ ਵਿਵਹਾਰ ਕਰਦਾ ਹੈ।
ਮੁੱਲ ਪਰਦੇ ਵਿੱਚ ਪੜ੍ਹੋ, ਕਿਉਂਕਿ ਪ੍ਰੌਕਸੀ URL ਵਿੱਚ ਅਕਸਰ ਪ੍ਰਮਾਣ ਹੁੰਦੇ ਹਨ।
ਫਿਰ ਡਿਫ਼ਾਲਟ curl ਸੰਰਚਨਾ ਫ਼ਾਈਲ ਵਿੱਚ ਪ੍ਰੌਕਸੀ ਜਾਂ ਕਨੈਕਸ਼ਨ ਓਵਰਰਾਈਡ ਜਾਂਚੋ, ਅਤੇ ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਸੀਂ ਅਸਲ ਵਿੱਚ ਕਿਹੜੀ ਐਗਜ਼ਿਕਿਊਟੇਬਲ ਚਲਾ ਰਹੇ ਹੋ। ਸ਼ੈੱਲ ਉਪਨਾਮ, ਫੰਕਸ਼ਨ ਜਾਂ ਰੈਪਰ ਸਕ੍ਰਿਪਟ ਅਜਿਹੇ ਵਿਕਲਪ ਜੋੜ ਸਕਦੇ ਹਨ ਜੋ ਤੁਹਾਡੀ ਕਮਾਂਡ ਲਾਈਨ 'ਤੇ ਕਦੇ ਨਹੀਂ ਦਿਸਦੇ।
TLS ਚਾਲੂ ਰੱਖ ਕੇ ਤਿੰਨ ਸੱਦਿਆਂ ਦੀ ਤੁਲਨਾ ਕਰੋ
ਤਿੰਨਾਂ ਰਨਾਂ ਲਈ ਇੱਕ ਮਨਜ਼ੂਰਸ਼ੁਦਾ ਨਿਦਾਨ ਟੀਚਾ ਅਤੇ ਉਹੀ ਬਾਈਨਰੀ ਵਰਤੋ।
curl -v https://service.corp.example/status
curl -q -v https://service.corp.example/status
curl -q --proxy '' -v https://service.corp.example/status
-q ਡਿਫ਼ਾਲਟ curlrc ਨੂੰ ਦਬਾਉਂਦਾ ਹੈ ਅਤੇ ਕੰਮ ਕਰਨ ਲਈ ਲਾਈਨ ਦਾ ਪਹਿਲਾ ਪੈਰਾਮੀਟਰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। ਇਹ ਪ੍ਰੌਕਸੀ ਵਾਤਾਵਰਨ ਵੇਰੀਏਬਲ ਨਹੀਂ ਹਟਾਉਂਦਾ, ਜੋ ਇਸੇ ਦੀ ਉਮੀਦ ਕਰਨ ਵਾਲਿਆਂ ਨੂੰ ਹੈਰਾਨ ਕਰਦਾ ਹੈ। ਤੀਜਾ ਰੂਪ ਖਾਲੀ --proxy ਮੁੱਲ ਜੋੜਦਾ ਹੈ, ਅਤੇ ਸਿਰਫ਼ ਉਸੇ ਸੱਦ ਲਈ ਵਾਤਾਵਰਨ ਵੱਲੋਂ ਮੰਗੀ ਪ੍ਰੌਕਸੀ ਨੂੰ ਓਵਰਰਾਈਡ ਕਰਦਾ ਹੈ। ਹਰ ਆਉਟਪੁੱਟ ਵਿੱਚ ਪਹਿਲੀ ਕਨੈਕਸ਼ਨ ਕੋਸ਼ਿਸ਼ ਦੀ ਤੁਲਨਾ ਕਰੋ, ਅੰਤਿਮ ਸਥਿਤੀ ਕੋਡ ਦੀ ਨਹੀਂ।
ਵਿਸਥਾਰ ਵਾਲਾ ਆਉਟਪੁੱਟ ਹੈਡਰ, ਟੋਕਨ ਅਤੇ ਪ੍ਰੌਕਸੀ ਪ੍ਰਮਾਣ ਦਾ ਖੁਲਾਸਾ ਕਰ ਸਕਦਾ ਹੈ, ਇਸ ਲਈ ਇਸਨੂੰ ਸਥਾਨਕ ਰੱਖੋ ਅਤੇ ਸਾਂਝਾ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਹਿੱਸੇ ਪੜ੍ਹੋ।
ਹਰ ਨਤੀਜਾ ਕੀ ਬਾਹਰ ਕੱਢਦਾ ਹੈ
ਜੇ ਡਿਫ਼ਾਲਟ ਸੰਰਚਨਾ ਛੱਡਣ ਨਾਲ ਕਨੈਕਸ਼ਨ ਬਦਲਦਾ ਹੈ, ਤਾਂ ਸਰੋਤ ਸੰਰਚਨਾ ਫ਼ਾਈਲ ਹੈ। ਜੇ ਵਿਰਾਸਤੀ ਪ੍ਰੌਕਸੀ ਨੂੰ ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਬੰਦ ਕਰਨ ਨਾਲ ਇਹ ਬਦਲਦਾ ਹੈ, ਤਾਂ ਸਰੋਤ ਵਾਤਾਵਰਨ ਵੇਰੀਏਬਲ ਹੈ। ਜੇ ਦੋਵਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਇਸਨੂੰ ਨਹੀਂ ਬਦਲਦਾ ਅਤੇ localhost ਫਿਰ ਵੀ ਦਿਸਦਾ ਹੈ, ਤਾਂ ਕਮਾਂਡ-ਲਾਈਨ ਕਨੈਕਸ਼ਨ ਓਵਰਰਾਈਡ, ਹੋਸਟਨਾਮ ਰਿਜ਼ੋਲਿਊਸ਼ਨ ਅਤੇ ਚੁਣੀ ਐਗਜ਼ਿਕਿਊਟੇਬਲ ਵੇਖੋ। ਹਰ ਇੱਕ ਦਾ ਹੱਲ ਵੱਖਰਾ ਹੈ, ਅਤੇ ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਰਾਊਟਿੰਗ ਬਦਲਾਅ ਨਹੀਂ ਹੈ।
ਕਸਟਮ ਲਾਇਬ੍ਰੇਰੀ ਲੋਡ ਹੋਣਾ ਜਾਂ ਇੰਜੈਕਟ ਕੀਤਾ ਨੈੱਟਵਰਕ ਵਿਵਹਾਰ ਅਗਲੀ ਪਰਤ ਹੈ, ਅਤੇ ਇਕੱਲਾ ਵਾਤਾਵਰਨ ਵੇਰੀਏਬਲ ਇਸਦਾ ਸਬੂਤ ਨਹੀਂ।
ਪ੍ਰੌਕਸੀ ਦਾ ਫ਼ੈਸਲਾ VPN ਤੋਂ ਵੱਖ ਰੱਖੋ
ਇੱਕ ਵਾਰ curl ਸਿੱਧਾ ਟੀਚਾ ਚੁਣ ਲਵੇ, ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਉਹ ਕਨੈਕਸ਼ਨ ਫਿਰ ਵੀ ਰਾਊਟ ਕਰਦਾ ਹੈ। ਐਪਲੀਕੇਸ਼ਨ ਪ੍ਰੌਕਸੀ ਬੰਦ ਕਰਨ ਨਾਲ VPN ਦਾ ਰਸਤਾ ਜਾਂ ਇਸਦੀ ਫਿਲਟਰਿੰਗ ਨੀਤੀ ਬੰਦ ਨਹੀਂ ਹੁੰਦੀ। ਸਿੱਧੀ ਪਹੁੰਚ ਦੀਆਂ ਤੁਲਨਾਵਾਂ ਸਿਰਫ਼ ਉੱਥੇ ਕਰੋ ਜਿੱਥੇ ਉਹ ਨਿਦਾਨ ਅਧਿਕਾਰਤ ਹੈ। ਜੋ ਪਰਖ ਨੀਤੀ ਨੂੰ ਚੁੱਪਚਾਪ ਟਾਲਦੀ ਹੈ ਉਹ ਵੈਧ ਨਤੀਜਾ ਨਹੀਂ, ਉਹ ਘਟਨਾ ਹੈ।
ਜੇ ਸਥਾਨਕ ਪ੍ਰੌਕਸੀ ਲੋੜੀਂਦੀ ਹੈ, ਤਾਂ ਇਸਦੀਆਂ ਸੈਟਿੰਗਾਂ ਮਿਟਾਉਣ ਦੀ ਥਾਂ ਇਸਦੀ ਸੇਵਾ ਅਤੇ ਪਤਾ ਬਹਾਲ ਕਰੋ।
ਜੇ ਸਿਰਫ਼ ਚੁਣੇ ਗਏ ਨਿੱਜੀ ਟੀਚਿਆਂ ਨੂੰ ਸਿੱਧੀ ਪਹੁੰਚ ਚਾਹੀਦੀ ਹੈ, ਤਾਂ ਤੰਗ ਮਨਜ਼ੂਰਸ਼ੁਦਾ ਛੋਟ ਜੋੜੋ ਅਤੇ ਬਾਕੀ ਸਭ ਲਈ ਪ੍ਰੌਕਸੀ ਰੱਖੋ। ਚੁਣੇ ਰਸਤੇ ਦੀ ਪਹਿਲੀ ਗ਼ਲਤੀ ਸੰਭਾਲੋ, ਕਿਉਂਕਿ localhost ਦਾ ਇਨਕਾਰ, ਪ੍ਰੌਕਸੀ CONNECT ਦਾ ਇਨਕਾਰ, ਸਰਟੀਫਿਕੇਟ ਫੇਲ੍ਹ ਹੋਣਾ ਅਤੇ ਅਧਿਕਾਰ ਗ਼ਲਤੀ ਚਾਰ ਵੱਖਰੇ ਪੜਾਅ ਦਰਸਾਉਂਦੇ ਹਨ।