Ако се curl покушава повезати са localhost без обзира на URL који сте му дали, 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-а, неуспех сертификата и грешка ауторизације означавају четири различите фазе.

Повезани чланци