Per a destinacions HTTP, definiu http_proxy en minúscules. curl ignora deliberadament HTTP_PROXY en majúscules. En un intèrpret POSIX:

http_proxy=http://127.0.0.1:8080 curl http://example.com/
https_proxy=http://127.0.0.1:8080 curl https://example.com/

Aquestes assignacions només s’apliquen a l’ordre que les segueix. Substituïu el punt d’escolta de l’exemple pel vostre servidor intermediari; per comparar punts d’accés públics, trieu un candidat de la llista de servidors intermediaris HTTP. La variable https_proxy selecciona una ruta per a destinacions HTTPS; un valor amb http:// continua indicant un servidor intermediari HTTP ordinari que pot crear un túnel fins a la destinació. PowerShell i els intèrprets d’ordres del Windows fan servir una altra sintaxi d’assignació.

Per què aquesta grafia en majúscules és perillosa

Els entorns CGI poden convertir les capçaleres de les peticions entrants en variables HTTP_ en majúscules. Així, una capçalera anomenada Proxy pot esdevenir HTTP_PROXY. Confiar-hi com a configuració de sortida permetria que les dades d’una petició triessin el servidor intermediari. L’exigència de minúscules de curl evita aquesta correspondència; l’excepció no s’aplica de manera idèntica a HTTPS i a les variables d’altres protocols.

Si canviar la variable no canvia la ruta

Cerqueu primer una variable específica del protocol i després l’alternativa ALL_PROXY. Una regla NO_PROXY coincident pot evitar el servidor intermediari. També importen les variants en minúscules i les definicions que competeixen entre si. Aquest bucle per a un intèrpret de tipus Unix informa de la presència sense mostrar valors que puguin contenir credencials:

for name in http_proxy HTTP_PROXY https_proxy HTTPS_PROXY all_proxy ALL_PROXY no_proxy NO_PROXY; do
  if printenv "$name" >/dev/null; then
    printf '%s is set\n' "$name"
  fi
done

Inspeccioneu localment les definicions enumerades. Si alguna reapareix, reviseu la configuració de l’intèrpret que inicia el procés, del servei, de l’IDE, del contenidor o de CI. La presència identifica entrades possibles; no diu quin valor ha prevalgut.

Per aïllar una petició d’aquestes decisions, proporcioneu tant el punt d’accés com una llista d’exclusions buida:

curl --proxy http://127.0.0.1:8080 --noproxy '' --connect-timeout 5 --max-time 15 --verbose https://example.com/

Per fer una comparació directa quan estigui permesa:

curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/

Aquestes ordres ajuden a distingir una ruta heretada d’una fallada de connectivitat. Llegiu els resultats de la prova del servidor intermediari etapa per etapa abans de canviar més paràmetres de l’entorn. Apliqueu les regles de variables de curl a curl; l’entorn d’execució propi d’una aplicació pot descobrir i combinar servidors intermediaris d’una altra manera.

Articles relacionats