Emacs 31.1 ичиндеги URL проксиге кирүү: auth-source жана CONNECT чектөөлөрү
Emacs'тин URL китепканасы үчүн аутентификацияланган HTTP проксини конфигурациялаңыз, анын Basic эсептик маалыматтарын издөөсүн түшүнүңүз жана Emacs 31.1 ичиндеги HTTPS CONNECT жолун эске алыңыз.
Проксинин дареги Emacs'ке кайда туташууну айтат. Анын кирүүсү сүйлөшүүнүн башка бөлүгү. Кадимки HTTP суроосу үчүн Emacs'тин URL китепканасы проксинин аутентификация чакырыгына жооп бере алат, auth-source'тон эсептик маалыматтарды ала алат же интерактивдүү түрдө сурай алат жана сессияда сакталган маалыматтарды кайра колдоно алат.
Төмөнкү деталдар Emacs 31.1'ге ылайык. Алар URL китепканасын колдонгон операцияларга тиешелүү; Emacs пакети иштеткен тышкы жүктөгүч өзүнүн аутентификация жолуна ээ.
Маршрутту белгилеңиз, анан HTTP кирүүнү сурасын
Бекитилген прокси акыркы чекитин документтелген опция менен тандоого болот:
(setq url-proxy-services
'(("http" . "proxy.example:8080")
("https" . "proxy.example:8080")))
Орун толтургучту берилген акыркы чекит менен алмаштырыңыз. Ачкычтар максаттуу URL схемаларын сүрөттөйт. HTTPS жазуусун кошуу HTTPS максаттары үчүн маршрут тандайт; ал өзү эсептик маалыматтарды бербейт.
Кадимки HTTP суроосу учурунда прокси 407 Proxy Authentication Required жана Proxy-Authenticate чакырыгы менен жооп бере алат. URL китепканасы колдоого алынган аутентификация схемасын тандап, прокси акыркы чекити үчүн эсептик маалыматтарды алат. Анан Proxy-Authorization менен кайра аракет кылат.
Basic аутентификация үчүн интерактивдүү суроо ылайыктуу эсептик маалыматтар жок болгондо колдонуучу атын жана сырсөздү сурай алат. Интерактивдүү эмес деп белгиленген суроо бул суроолорго таяна албайт. Проксиге кирүү максаттуу веб-сайтка кирүүдөн да өзүнчө: веб-сайттын 401 чакырыгы башка жол менен жүрөт.
Туруктуу эсептик маалыматтарды auth-source'ко салыңыз
Эгер auth-source мурунтан ~/.authinfo.gpg сыяктуу шифрленген эсептик маалыматтар файлын окуса, бул мисал үчүн Basic жазуусу төмөнкүдөй формада:
machine proxy.example port http login YOUR_LOGIN password YOUR_PASSWORD
Чыныгы эсебиңизди жана сырыңызды колдонуңуз жана файлдын конфигурацияланган auth-sources арасында экенине көз жеткириңиз. Сап дал келген талааларды көрсөтөт; бул Lisp инициализация файлыңызга сырсөз салуу боюнча нускама эмес.
Emacs 31.1'дин Basic ишке ашырылышында эки деталь маанилүү. Ал проксинин хост атын сандык TCP порту жок издеп, прокси URL схемасын auth-source'тун порт мааниси катары берет. Бул HTTP прокси үчүн TCP байланышы 8080 портун колдонсо да, бул маани http.
Бул издөө чакырыктын realm'ин же сандык прокси портун камтыбайт. Бир хост атындагы бир нече realm же прокси порту үчүн ар башка Basic сырсөздөрдү тандайт деп күтпөңүз. Digest башка хост издөөсүн колдонот, ошондуктан жогорку мисал Basic үчүн атайын.
URL китепканасы өзүнүн аутентификация кэшин да кармайт. Анын Basic жазуулары прокси акыркы чекиттерин айырмалайт жана чекиттин ичинде realm же каталог дал келүүсүн колдонот; бул кэш auth-source издөөсүнөн өзүнчө. Суроо учурунда сырсөз теруу туруктуу эсептик маалыматтар файлыңызга жаңы жазуу сактабастан сессия кэшин толтура алат.
HTTPS'тин эртерек аутентификация кадамы бар
HTTP прокси аркылуу HTTPS максаты үчүн Emacs адегенде CONNECT жөнөтөт. Ошондуктан веб-сайт менен шифрленген байланышка жетпей туруп аутентификация талап кылынышы мүмкүн.
Emacs 31.1'де CONNECT суроосун куруучу өзүнүн аутентификация механизми аркылуу мурунтан жеткиликтүү аутентификацияны текшерет, анын ичинде кэштеги Basic эсептик маалыматтарды. Анын Basic жолу ошол учурда жаңы auth-source жазуусун сурабайт жана алып келбейт. 200 эмес CONNECT жообу да жогоруда сүрөттөлгөн кадимки HTTP 407 чакырык иштеткичине кирбейт.
Демек, кадимки HTTP Basic чакырыгына жооп бере алган auth-source жазуусу жаңы сессиянын биринчи HTTPS суроосу ийгиликтүү аутентификацияланат деп кепилдик бербейт. Ылайыктуу кэштеги эсептик маалыматтары бар сессиянын баштапкы абалы башка. Ошол эле сырсөз жазуусун кайра-кайра оңдоо эки жолдун ортосундагы бул айырманы өзүнөн өзү жок кыла албайт.
Эгер HTTPS операциясы проксиде токтоп калса, CONNECT 407 алдыбы жана бул чыгарылыштын жүрүм-турумун колдонуп жатасызбы аныктаңыз. Прокси сунуш кылган аутентификация схемасын да ырастаңыз. Basic эсептик маалыматтар жазуусу ар бир ишканалык аутентификация системасы үчүн универсалдуу адаптер эмес.
Туруктуу конфигурацияны коомдук прокси опциясында жана тандаган эсептик маалыматтар бэкендиңизде сактаңыз. URL китепканасынын ички Basic сактагычы бул жүрүм-турумду түшүнүү үчүн пайдалуу, бирок ошол жеке маалымат структурасын кол менен толтуруу конфигурацияны ишке ашыруу деталдарына байлап коёт.