curl socks5h және socks5: хост атын кім шешеді
Қосымша әріп DNS сұрауын жылжытады, шифрлауды емес. Екі пішімді салыстырып, қай хост атына әлі де жергілікті шешуші қажет екенін тексеріңіз.
Адамдар socks5h-ті socks5-нің ыңғайлырақ жазылуы ретінде қабылдайды және екеуі де бірдей сұрауды бірдей жерге жібереді деп күтеді. Қосымша әріп оның орнына DNS сұрауын жылжытады. Шешуші мен проксиі әртүрлі желілерде тұрған машинада бұл сәтті және сәтсіз сұрау арасындағы айырмашылық.
Бір әріп, екі шешуші
Схема мақсат атауы қай жерде мекенжайға айналатынын анықтайды. Жергілікті шешу машинаңызда конфигурацияланған шешушіні пайдаланады. Қашықтағы шешу хост атын SOCKS сұрауының ішіне салады, ал прокси оны өз шешушісімен және желі туралы өз көзқарасымен іздейді. Екі пішім де сол порттағы сол прокси мекенжайына қосылады, сондықтан айырмашылық жолда емес, сұрау денесінде.
Схемада ештеңе шифрлауды немесе аутентификацияны өзгертпейді; тек DNS жолы жылжиды. Сондықтан әріпті байқамау оңай, ал қателесу қымбат.
Бір прокси, басқа сұрау
Екі шақыру бір таңбамен ерекшеленеді. Қалғанының бәрі бірдей:
curl --proxy socks5://proxy.example:1080 https://service.example/
curl --proxy socks5h://proxy.example:1080 https://service.example/The curl прокси анықтамасы бұл схемаларды бөлек сипаттайды және бұл оларды синоним ретінде қарастырмаудың беделді себебі. Екеуін де пайдалануға рұқсатыңыз бар зиянсыз соңғы нүктеге қарсы іске қосып, айырмашылықты оқыңыз. Сәтті қашықтағы іздеу басқа қосымшалар туралы ештеңе айтпайды, өйткені браузерлер, пакет менеджерлері және тіл орындау орталары әрқайсысы өзі таңдайды.
Проксидің өз аты жергілікті түрде шешіледі
Бұл командада proxy.example кез келген басқа нәрсе болмай тұрып мекенжайға айналуы керек, және бұл іздеу әрдайым жергілікті. service.example шешімін проксиге жылжыту проксидің өз аты үшін ештеңе істемейді, оған әлі де машинаңыз жете алатын шешуші қажет. Міне, осы жерде VPN суретті өзгертеді.
Егер прокси аты тек туннельдің ішінде шешілсе, қосылым curl басталмай тұрып туннель көтерілгеніне тәуелді. Қай схема жеңетіні қай жақ жауап бере алатынына байланысты. Машинаңыз мақсатты шеше алмаса, ал прокси шеше алса, socks5 сәтсіз болады, socks5h сәтті болады. Машинаңыз оны туннель арқылы шешсе, ал прокси шеше алмаса, socks5 жұмыс істейді, socks5h сәтсіз болады.
Схема проксиге қосылымды VPN ішіне немесе сыртына орналастырмайды; мұны маршруттау кестесі жасайды және схема оны ешқашан көрмейді. Сондықтан бір туннель бір схеманы түзеп, екіншісін сол машинада бұзуы мүмкін. Әріп тек кім сұрақ қоятынын шешеді.
Әр жақ нені шеше алады
Ашық прокси тек компанияда болатын атауды шеше алмайды, сондықтан оған хост атын жіберу проксиде сәтсіз болады және жергілікті DNS қатесі ретінде емес, прокси қатесі ретінде көрінеді. Сол жеке желінің ішіндегі прокси мұндай аттарды әдетте шеше алады, және дәл осы жерде socks5h өзін ақтайды. Шешушінің орнын шынымен қажет саясатқа қарай таңдаңыз, өйткені қашықтағы DNS автоматты түрде қабілеттірек емес және ол атауды үшінші тарапқа береді. Ашық мақсат үшін екі пішім де жұмыс істейді, сондықтан басқа құралдарыңыз қолданып жүргенін таңдаңыз.
Осы таңдауды түсініктемеге емес, runbook-қа жазыңыз, және тіркелгі деректерін ортақ тарихтан және диагностикалық шығыстан тыс ұстаңыз. Содан кейін бір уақытта бір айнымалыны өзгертіңіз: сол мақсат, сол бинар, сол шешуші, бір әріп.
Қай бинар жауап берді
Бір машинадағы екі curl бинары нұсқасымен және құрастыру мүмкіндіктерімен ерекшеленуі мүмкін. Unix тәрізді қабықшада type -a curl жолдағы барлық сәйкестікті тізіп шығады, ал curl --version іске қосылатын бинардың мүмкіндіктерін көрсетеді. Жолдың басындағы орауыш сценарий немесе бүркеншік ат — нәтижелер сіз сынаймын деп жүрген бинарға сәйкес келмеуінің жиі себебі.
Қолдаусыз схема, атауды шеше алмайтын прокси және жетуге болмайтын мақсат — үш түрлі қате, сондықтан әріпті өзгерту алдында хабарламаны оқыңыз. socks5h синтаксисі жоқ құрастыру прокси жолын қолдаусыз деп хабарлайды, бұл шешілмеген атпен бірдей емес. Жүйелік curl туралы бір ескі есепті әр платформа үшін тұрақты ережеге айналдырмаңыз.