curl не може да прочита вашу PAC датотеку: проследите proxy уместо ње
PAC је JavaScript политика; curl жели крајњу тачку. Питајте који proxy политика бира за ваш URL, проследите га и пратите NO_PROXY и TLS.
Адреса PAC датотеке и крајња тачка proxy-ја изгледају замењиво у конфигурационој датотеци, али нису. Једно је програм политике који мора да се израчуна за сваки URL; друго је хост и порт који прихватају везе. curl разуме само друго. Прослеђивање PAC адресе на --proxy је грешка категорије која не успева на збуњујући начин, обично после дугог CONNECT истека ка веб серверу.
Шта је заправо свако од њих
| Имате | Шта је то | Шта curl ради с тим |
|---|---|---|
http://wpad.corp.example/proxy.pac | JavaScript који враћа proxy или директну везу за дати URL | Преузима га као датотеку и ту се зауставља |
http://proxy.corp.example:8080 | Слушалац који прихвата проксиране захтеве | Користи га, укључујући CONNECT за HTTPS циљеве |
То јасно каже често постављана питања о curl-у: curl не пружа тумачење JavaScript-а нити PAC-а. Омотач око curl-а који разуме PAC може, али сам curl не, и ниједна заставица га не претвара у прегледач.
Зашто прегледач ради, а curl не
Прегледач се повезује са системском конфигурацијом proxy-ја, преузима PAC датотеку и извршава њена правила за URL који отварате. Та процена је услуга коју PAC датотека пружа, и дешава се унутар прегледача, не у вашем терминалу.
Преузимање PAC датотеке помоћу curl-а даје само њен текст. То не тера curl да изврши политику, а ручно читање ради проналажења proxy-ја је ручна верзија исте процене, са истом шансом да изаберете погрешну грану. Ако је читате, читајте наредбу return која одговара вашем хосту, а не прво име proxy-ја у датотеци. Већина PAC датотека садржи неколико, и само једна грана се односи на вас.
За одобрени HTTP proxy и одобрену HTTPS услугу, илустративни захтев је:
curl --proxy http://proxy.corp.example:8080 https://service.example.net/status
Прва адреса је слушалац proxy-ја, друга је услуга коју желите. Ово су примерне крајње тачке, а не тест који је неко извео, зато их замените шемом, портом и током аутентификације ваше организације.
Изаберите proxy за ову дестинацију
Питајте администратора који proxy политика бира за URL који вам треба, а не који proxy организација поседује. PAC правила могу да врате различите резултате за интерне услуге, јавне сајтове и стања пребацивања при квару, а правило које данас одговара вашем URL-у после измене може да одговара другом.
Ако ток рада захтева више од једног познатог захтева, користите статичко подешавање које администратор подржава или одобрену интеграцију која разуме PAC. Тврдо кодирање једне копиране адресе ради до дана када се политика промени и нико више не сећа зашто је та адреса изабрана.
Затим погледајте шта curl наслеђује. Променљиве окружења proxy-ја и NO_PROXY могу да надјачају или искључе proxy који сте проследили, а искључење које одговара вашем циљу шаље захтев тихо директно. Сачувајте намеравану политику уместо да бришете свако искључење или терате све кроз једну адресу. Извршите захтев једном са -v и проверите на коју адресу се заиста повезао.
Држите два TLS идентитета одвојено
Са HTTPS proxy-јем у игри су две TLS везе: ваша ка proxy-ју и она proxy-ја ка дестинацији. Свака има сопствени идентитет за проверу, а искључивање провере за било коју од њих није поправка PAC-а, него други проблем додат првом.
Оставите проверу укључену и прочитајте грешку коју добијете. Изазов аутентификације proxy-ја, недоступан proxy и одбијање сајта су три различита резултата, и само први се тиче акредитива. VPN и даље мора да обезбеди дозвољен пут до приватног proxy-ја, укључујући разрешавање имена за сам хост proxy-ја, пре него што било шта од овога успе.
Запишите крајњу тачку, шему, порт, метод аутентификације, искључења и VPN пут до proxy-ја. Тај запис чини следећи захтев поновљивим, и он је разлика између познавања свог proxy-ја и нагађања о њему.