Nima uchun curl uzoq URL o'rniga localhostga ulanadi
VPNni ayblashdan oldin meros qolgan proksini, standart curlrc faylini va haqiqiy manzilni ajratib oling. Uchta nazoratli ishga tushirish TLS tekshiruvini yoqilgan holda saqlaydi.
Agar curl siz bergan URLdan qat'i nazar localhostga ulanishga urinsa, VPN boshlash uchun noto'g'ri joy. Mahalliy HTTP yoki SOCKS proksisi ko'zda tutilgan birinchi ulanish bo'lishi mumkin, hatto kerakli xizmat butunlay boshqa joyda bo'lsa ham. Agar bu proksi endi ishlamasa, localhost urinishi curl manzilga yetib bormasdan turib muvaffaqiyatsiz tugaydi. Proksining javobi ham manzil javob berganining isboti emas.
Bu qadamlarni tartib bilan bajaring va birinchi ulanish urinishini o'zgartiradigan birinchi qadamda to'xtang.
Avval curlning o'z proksi qoidalarini o'qing
curl protokolga xos proksi o'zgaruvchilarini o'qiydi, masalan https_proxy va HTTPS_PROXY, shuningdek protokolga xos qiymat qo'llanmaganda ALL_PROXY. curl ni haqiqatda ishga tushiruvchi shell, xizmat yoki vazifaning muhitini tekshiring, joriy terminalingiznikini emas. CI ishi, systemd birligi va interaktiv shell uch xil to'plamni meros olishi mumkin. Ko'rinib turgan shell bo'yicha taxmin qilish aynan shu tekshiruvning butun tushdan keyin vaqtini yo'qotishiga sabab bo'ladi.
Bitta istisnoni eslab qolish arziydi. curl http_proxy ni faqat kichik harflar bilan qabul qiladi; katta harfli HTTP_PROXY e'tiborga olinmaydi, shuning uchun bir xil muhit boshqa vositalarda boshqacha ishlaydi.
Qiymatlarni maxfiy o'qing, chunki proksi URL ko'pincha hisob ma'lumotlarini olib yuradi.
So'ng standart curl konfiguratsiya faylida proksi yoki ulanish bekor qilinishlarini tekshiring va aslida qaysi bajariladigan faylni ishga tushirishingizni tasdiqlang. Shell taxallusi, funksiya yoki o'rovchi skript buyruq satringizda hech qachon ko'rinmaydigan parametrlarni qo'shishi mumkin.
TLS yoqilgan holda uchta chaqiruvni solishtiring
Uchala ishga tushirish uchun bitta tasdiqlangan diagnostik manzil va bir xil ikkilik fayldan foydalaning.
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 standart curlrc ni bostiradi va ishlashi uchun satrning birinchi parametri bo'lishi kerak. U proksi muhiti o'zgaruvchilarini olib tashlamaydi, bu esa aynan shuni kutganlarni hayratga soladi. Uchinchi shakl bo'sh --proxy qiymatini qo'shadi va muhit talab qilgan proksini faqat shu chaqiruv uchun bekor qiladi. Har bir chiqishda birinchi ulanish urinishini solishtiring, yakuniy holat kodini emas.
Batafsil chiqish sarlavhalar, tokenlar va proksi hisob ma'lumotlarini oshkor qilishi mumkin, shuning uchun uni mahalliy saqlang va ulashishdan oldin parchalarni o'qing.
Har bir natija nimani istisno qiladi
Agar standart konfiguratsiyani tashlab ketish ulanishni o'zgartirsa, manba konfiguratsiya faylidir. Agar meros qolgan proksini aniq o'chirish uni o'zgartirsa, manba muhit o'zgaruvchisidir. Agar ikkalasi ham uni o'zgartirmasa va localhost hali ham ko'rinsa, buyruq satridagi ulanish bekor qilinishlarini, xost nomlarini hal qilishni va tanlangan bajariladigan faylni ko'rib chiqing. Ularning har biri boshqacha tuzatishga ega va hech biri marshrutlash o'zgarishi emas.
Maxsus kutubxona yuklanishi yoki kiritilgan tarmoq xatti-harakati keyingi qatlam bo'lib, bitta muhit o'zgaruvchisi uning isboti emas.
Proksi qarorini VPNdan alohida saqlang
curl to'g'ridan-to'g'ri manzilni tanlagandan keyin ham operatsion tizim bu ulanishni marshrutlaydi. Ilova proksisini o'chirish VPN marshrutini yoki uning filtrlash siyosatini o'chirmaydi. To'g'ridan-to'g'ri kirish solishtiruvlarini faqat shu diagnostika ruxsat etilgan joyda qiling. Siyosatni jimgina chetlab o'tadigan sinov haqiqiy natija emas, bu hodisa.
Agar mahalliy proksi kerak bo'lsa, uning sozlamalarini o'chirish o'rniga xizmati va manzilini tiklang.
Agar faqat tanlangan shaxsiy manzillar to'g'ridan-to'g'ri kirishga muhtoj bo'lsa, tor tasdiqlangan istisno qo'shing va qolgan hamma narsa uchun proksini saqlang. Tanlangan yo'lning birinchi xatosini saqlang, chunki localhost rad etishi, proksi CONNECT rad etishi, sertifikat nosozligi va avtorizatsiya xatosi to'rt xil bosqichni bildiradi.