Грешка curl 77: локации за проверка на сертификатот при инсталација на VPN
Грешка 77 е локален неуспех на CA внесот, а не лош серверски сертификат. Најдете ја датотеката за доверба што ја чита curl, поправете ја и проверете ја скриптата пред да ја извршите.
Ја вметнувате едноредната команда за инсталација од упатство, притискате Enter и добивате curl: (77). Пораката споменува локации за проверка на сертификатот, па инстинктот е да претпоставите дека сертификатот на VPN провајдерот е расипан и да посегнете по знаменце што ја прескокнува проверката. Тоа читање е погрешно, а постапувањето по него претвора локален проблем со датотека во безбедносна одлука. Да се вратиме од почеток.
Чекор 1: прочитајте што значи бројот
Грешката 77 се однесува на локалниот CA внес: curl не можеше да го прочита или вчита сертификатниот материјал што требаше да му верува. Грешката 60 е за спротивната страна, кога синџирот на серверот не се валидира. Тие се појавуваат една до друга во упатствата и значат спротивни работи.
Ако вашиот излез вели 77, серверот никогаш не бил проблемот. Клиентот не можеше да ја отвори датотеката што сакаше да ја користи за проверка, а тоа е проблем со патека, дозволи или пакување на вашата машина.
Чекор 2: прочитајте ја командата што ја копиравте
Копираните команди кријат знаци. Малото -l е --list-only, што се однесува на наведување протоколи. Големото -L е --location, што следи HTTP пренасочување. Тие не се алтернативни правописи, а упатството што пишува едно додека го опишува другото ги праќа луѓето по патека на пренасочување што никогаш не била наменета.
Следењето пренасочување не ја поправа патеката на складиштето за доверба и не докажува дека конечниот домаќин е издавачот што го мислевте. Ако командата доаѓа од форумска објава, препишете ја од сопствените инструкции на проектот наместо да и верувате на вметнатата содржина.
Чекор 3: откријте кој CA внес го користи тоа издание
Започнете со идентификување на бинарната датотека, зашто одговорот зависи од тоа како е компајлирана:
curl --versionЗапишете ја верзијата и TLS позадината. Издание со нативна продавница за доверба ја чита системската продавница преку TLS библиотеката, додека издание насочено кон пакет чита датотека. Експлицитен --cacert, поставка CURL_CA_BUNDLE или shell обвивка можат да го надминат било кое од двете, па инсталацијата од пакет можеби воопшто не ја допира датотеката што навистина не успева.
За продавница заснована на датотека, проверете три работи по ред: дали патеката постои, дали сметката што ја извршува командата може да ја чита и дали ја содржи CA материјалот што го очекувате. Пакет со погрешни дозволи не успева исто како отсутен, и двете не успеваат пред било каков мрежен разговор за серверот.
Чекор 4: поправете го внесот, не проверката
Вратете ја поддржаната конфигурација за доверба преку оној што ја поседува: дистрибуцискиот пакет, вашето управување со конфигурација или документираната променлива на околината. Целта е читлив и правилен CA внес за таа бинарна датотека.
Не го префрлајте URL-то на HTTP, не додавајте --insecure, и не верувајте на сертификат копиран од необјаснето преземање. Секоја од тие промени менува што сте подготвени да прифатите наместо да го поправи она што curl не можеше да го прочита, а промената обично го надживува инцидентот.
Референцата за бројките е каталогот со грешки на curl, и е доволно краток за еднаш внимателно да се прочита.
Чекор 5: преземете, погледнете, потоа извршете
Преземете го инсталаторот во датотека наместо да го пренесувате во shell во истата команда. Таа единствена промена го одвојува преносот што можете да го прегледате од кодот што се извршува со вашите привилегии.
curl -fL -o vpn-installer.sh https://example.invalid/install.sh
file vpn-installer.sh
head -n 40 vpn-installer.shПроверете дека одговорот е скриптата што ја очекувавте, а не HTML страница за грешка, известување за пренасочување или празна датотека. Ако издавачот обезбедува контролна сума или потпис, проверете ја преку нивниот документиран процес на издавање, а не преку вредност цитирана во истата форумска тема.
Запомнете што направи HTTPS и што не. Тој го автентицираше преносот до домаќинот со кој контактиравте; не ја прегледа содржината на скриптата и не ви кажува дали издавачот е доверлив.
Чекор 6: држете ги чекорите за инсталација одвоени
Преземањето на датотеката, инсталирањето на клиентот, конфигурирањето на тунелот и валидирањето на рутите се четири операции со четири различни начини на неуспех. Нивното извршување едно по едно значи дека грешката подоцна во низата има една очигледна причина наместо четири кандидати.
Ако инсталацијата успее и тунелот се крене, проверете ги рутите и една вистинска дестинација пред да го затворите тикетот. Грешката на curl е поправена кога едноставна curl -I https://example.invalid повторно работи, а не кога инсталаторот престанува да се жали.