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 சேமிப்பு இந்த நடத்தையைப் புரிந்துகொள்ள பயனுள்ளது, ஆனால் அந்தத் தனிப்பட்ட தரவு கட்டமைப்பை கைமுறையாக நிரப்புவது அமைப்பை செயலாக்க விவரங்களுடன் பிணைக்கும்.