Kung sinusubukan ng curl na kumonekta sa localhost anuman ang URL na ibinigay mo, ang VPN ang maling lugar na simulan. Ang lokal na HTTP o SOCKS proxy ay maaaring ang nilalayong unang koneksyon, kahit na ang serbisyong gusto mo ay nasa ibang lugar. Kung hindi na tumatakbo ang proxy na iyon, nabibigo ang pagtatangka sa localhost bago pa man makarating ang curl sa destinasyon. Ang tugon ng proxy ay hindi rin patunay na sumagot ang destinasyon.

Sundin ang mga hakbang na ito sa pagkakasunod-sunod at huminto sa una na nagbabago ng unang pagtatangka ng koneksyon.

Basahin muna ang sariling mga panuntunan ng proxy ng curl

Binabasa ng curl ang mga variable ng proxy na tukoy sa protocol, tulad ng https_proxy at HTTPS_PROXY, gayundin ang ALL_PROXY kapag walang naaangkop na halagang tukoy sa protocol. Suriin ang kapaligiran ng shell, serbisyo o gawaing aktwal na naglulunsad ng curl, hindi ang nasa iyong kasalukuyang terminal. Ang isang gawaing CI, isang systemd unit at isang interactive na shell ay maaaring magmana ng tatlong magkakaibang set. Ang paghula mula sa nakikitang shell ang dahilan kung bakit ang pagsisiyasat na ito ay nawawalan ng buong hapon.

Isang pagbubukod ang dapat tandaan. Tinatanggap ng curl ang http_proxy sa maliit na titik lamang; ang malaking titik HTTP_PROXY ay binabalewala, kaya naman kumikilos nang iba ang parehong kapaligiran sa ibang mga tool.

Basahin ang mga halaga nang pribado, dahil ang URL ng proxy ay madalas may mga kredensyal.

Pagkatapos suriin ang default na configuration file ng curl para sa mga override ng proxy o koneksyon, at tiyakin kung aling executable ang aktwal na pinapatakbo mo. Ang shell alias, function o wrapper script ay maaaring magdagdag ng mga opsyon na hindi kailanman lumilitaw sa iyong command line.

Ihambing ang tatlong invocation na bukas ang TLS

Gumamit ng isang aprubadong diagnostic na destinasyon at parehong binary sa lahat ng tatlong pagpapatakbo.

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 pinipigilan ang default na curlrc at dapat na unang parameter sa linya upang gumana. Hindi nito inaalis ang mga environment variable ng proxy, na ikinagulat ng mga umaasa doon. Ang ikatlong anyo ay nagdaragdag ng walang laman na --proxy na halaga, na ino-override ang proxy na hiniling ng kapaligiran para lamang sa invocation na iyon. Ihambing ang unang pagtatangka ng koneksyon sa bawat output, hindi ang huling status code.

Ang detalyadong output ay maaaring maglantad ng mga header, token at kredensyal ng proxy, kaya itago ito nang lokal at basahin ang mga sipi bago ibahagi.

Ano ang inaalis ng bawat resulta

Kung binabago ng paglaktaw sa default na configuration ang koneksyon, ang configuration file ang pinagmulang. Kung binabago ito ng tahasang pag-disable sa minanang proxy, ang environment variable ang pinagmulang. Kung hindi ito binabago ng alinman at lumilitaw pa rin ang localhost, tingnan ang mga override ng koneksyon sa command line, ang hostname resolution at ang napiling executable. Bawat isa sa kanila ay may ibang pagtatama, at wala sa kanila ang pagbabago sa routing.

Ang paglo-load ng custom na library o iniksyong pag-uugali ng network ay susunod na antas, at ang isang environment variable lamang ay hindi patunay nito.

Panatilihing hiwalay ang desisyon sa proxy mula sa VPN

Kapag pumili na ang curl ng direktang destinasyon, ang operating system ay nagruruta pa rin sa koneksyong iyon. Ang pag-disable sa proxy ng application ay hindi nagdi-disable sa ruta ng VPN o sa patakaran ng pag-filter nito. Gumawa ng mga paghahambing ng direktang pag-access lamang kung saan awtorisado ang diagnostic na iyon. Ang pagsubok na tahimik na lumalabag sa patakaran ay hindi wastong resulta, ito ay insidente.

Kung kailangan ng lokal na proxy, ibalik ang serbisyo at address nito sa halip na burahin ang mga setting nito.

Kung piling pribadong destinasyon lamang ang nangangailangan ng direktang pag-access, magdagdag ng makitid na aprubadong pagbubukod at panatilihin ang proxy para sa lahat ng iba pa. Itago ang unang error mula sa napiling landas, dahil ang pagtanggi ng localhost, pagtanggi ng CONNECT ng proxy, pagkabigo ng sertipiko at error sa awtorisasyon ay nagtutukoy ng apat na magkakaibang yugto.

Kaugnay na mga artikulo