Эгер curl сиз берген URLге карабастан localhostко туташууга аракет кылса, VPN баштоо үчүн туура эмес жер. Жергиликтүү HTTP же SOCKS проксиси көздөлгөн биринчи туташуу болушу мүмкүн, ал тургай керектүү кызмат таптакыр башка жерде болсо да. Эгер ал прокси мындан ары иштебесе, localhost аракети curl максатка жете электе эле ишке ашпайт. Проксинин жообу да максаттын жооп бергенин далилдебейт.

Бул кадамдарды тартиби менен аткарыңыз жана биринчи туташуу аракетин өзгөрткөн биринчи кадамда токтоңуз.

Алгач 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тин четке кагылышы, сертификаттын ишке ашпашы жана авторизация катасы төрт түрдүү баскычты көрсөтөт.

Тектеш макалалар