Emacs 31.1 da URL proksi orqali kirish: auth-source va CONNECT cheklovlari
Emacs URL kutubxonasi uchun autentifikatsiyalangan HTTP proksini sozlang, Basic hisob ma'lumotlarini qidirishni tushuning va Emacs 31.1 dagi HTTPS CONNECT yo'lini hisobga oling.
Proksi manzili Emacs ga qayerga ulanishni aytadi. Uning kirishi suhbatning boshqa qismidir. Oddiy HTTP so'rovi uchun Emacs URL kutubxonasi proksining autentifikatsiya chaqirig'iga javob bera oladi, auth-source dan hisob ma'lumotlarini olishi yoki interaktiv so'rashi va sessiyada saqlangan ma'lumotlarni qayta ishlatishi mumkin.
Quyidagi tafsilotlar Emacs 31.1 ga mos keladi. Ular URL kutubxonasidan foydalanadigan amallarga tegishli; Emacs paketi ishga tushirgan tashqi yuklab oluvchining o'z autentifikatsiya yo'li bor.
Yo'lni belgilang, so'ng HTTP kirishni so'rasin
Qat'iy proksi so'nggi nuqtasini hujjatlashtirilgan opsiya bilan tanlash mumkin:
(setq url-proxy-services
'(("http" . "proxy.example:8080")
("https" . "proxy.example:8080")))
To'ldiruvchini berilgan so'nggi nuqta bilan almashtiring. Kalitlar manzil URL sxemalarini tavsiflaydi. HTTPS yozuvini qo'shish HTTPS manzillari uchun yo'lni tanlaydi; o'zi hisob ma'lumotlarini bermaydi.
Oddiy HTTP so'rovi davomida proksi 407 Proxy Authentication Required va Proxy-Authenticate chaqirig'i bilan javob berishi mumkin. URL kutubxonasi qo'llab-quvvatlanadigan autentifikatsiya sxemasini tanlaydi va proksi so'nggi nuqtasi uchun hisob ma'lumotlarini oladi. So'ng Proxy-Authorization bilan qayta urinadi.
Basic autentifikatsiya uchun mos hisob ma'lumotlari bo'lmasa, interaktiv so'rov foydalanuvchi nomi va parolni so'rashi mumkin. Interaktiv bo'lmagan deb belgilangan so'rov bu so'rovlarga tayana olmaydi. Proksiga kirish manzil veb-saytiga kirishdan ham alohida: veb-saytning 401 chaqirig'i boshqa yo'lni tutadi.
Doimiy hisob ma'lumotlarini auth-source ga joylang
Agar auth-source allaqachon ~/.authinfo.gpg kabi shifrlangan hisob ma'lumotlari faylini o'qisa, bu misol uchun Basic yozuvi quyidagi shaklga ega:
machine proxy.example port http login YOUR_LOGIN password YOUR_PASSWORD
Haqiqiy hisobingiz va siringizdan foydalaning va fayl sozlangan auth-sources qatorida ekaniga ishonch hosil qiling. Qator mos keladigan maydonlarni ko'rsatadi; bu Lisp ishga tushirish faylingizga parol qo'yish yo'riqnomasi emas.
Emacs 31.1 ning Basic amalga oshirilishida ikkita tafsilot muhim. U proksining xost nomini raqamli TCP portisiz qidiradi va proksi URL sxemasini auth-source ning port qiymati sifatida uzatadi. Bu HTTP proksi uchun TCP ulanish 8080 portidan foydalansa ham, bu qiymat http.
Bu qidiruv chaqiriqning realm yoki raqamli proksi portini o'z ichiga olmaydi. Bir xil xost nomidagi bir nechta realm yoki proksi portlari uchun turli Basic parollarni tanlaydi deb kutmang. Digest boshqa xost qidiruvidan foydalanadi, shuning uchun yuqoridagi misol aynan Basic uchun.
URL kutubxonasi o'zining autentifikatsiya keshini ham saqlaydi. Uning Basic yozuvlari proksi so'nggi nuqtalarini ajratadi va so'nggi nuqta ichida realm yoki katalog mosligini ishlatadi; bu kesh auth-source qidiruvidan alohida. So'rovda parol yozish doimiy hisob ma'lumotlari faylingizga yangi yozuv saqlamasdan sessiya keshini to'ldirishi mumkin.
HTTPS da avvalroq autentifikatsiya bosqichi bor
HTTP proksi orqali HTTPS manzil uchun Emacs avval CONNECT yuboradi. Shuning uchun veb-sayt bilan shifrlangan ulanishga yetishdan oldin autentifikatsiya talab qilinishi mumkin.
Emacs 31.1 da CONNECT so'rovi quruvchisi autentifikatsiya mexanizmi orqali allaqachon mavjud autentifikatsiyani tekshiradi, jumladan keshlangan Basic hisob ma'lumotlarini. Uning Basic yo'li o'sha paytda yangi auth-source yozuvini so'ramaydi va olib kelmaydi. 200 bo'lmagan CONNECT javobi ham yuqorida tavsiflangan oddiy HTTP 407 chaqiriq ishlovchisiga kirmaydi.
Binobarin, oddiy HTTP Basic chaqirig'iga javob bera oladigan auth-source yozuvi yangi sessiyaning birinchi HTTPS so'rovi muvaffaqiyatli autentifikatsiya qilinishiga kafolat bermaydi. Mos keshlangan hisob ma'lumotlariga ega sessiya boshqa boshlang'ich holatga ega. Bir xil parol yozuvini qayta-qayta tahrirlash bu ikki yo'l orasidagi farqni o'z-o'zidan bartaraf eta olmaydi.
Agar HTTPS amali proksida to'xtasa, CONNECT 407 olganmi va siz ushbu nashr xatti-harakatidan foydalanayotganingizni aniqlang. Proksi taklif qilgan autentifikatsiya sxemasini ham tasdiqlang. Basic hisob ma'lumotlari yozuvi har bir korporativ autentifikatsiya tizimi uchun universal adapter emas.
Doimiy konfiguratsiyani ommaviy proksi opsiyasida va tanlagan hisob ma'lumotlari backendida saqlang. URL kutubxonasining ichki Basic ombori bu xatti-harakatni tushunish uchun foydali, ammo o'sha shaxsiy ma'lumotlar tuzilmasini qo'lda to'ldirish sozlashni amalga oshirish tafsilotlariga bog'lab qo'yardi.