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")))
ቦታ ያዥውን በተሰጠው መጨረሻ ነጥብ ይተኩ። ቁልፎቹ የመዳረሻ ዩአርኤል መርሃግብሮችን ይገልጻሉ። የ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 ወደብ ይፈልጋል፣ እና የፕሮክሲውን ዩአርኤል መርሃግብር እንደ auth-source ወደብ እሴት ያስተላልፋል። ለዚህ የHTTP ፕሮክሲ፣ የTCP ግንኙነቱ ወደብ 8080 ቢጠቀምም፣ ያ እሴት http ነው።
ይህ ፍለጋ የጥያቄውን realm ወይም አሃዛዊውን የፕሮክሲ ወደብ አያካትትም። በአንድ አስተናጋጅ ስም ላይ ለተለያዩ realms ወይም የፕሮክሲ ወደቦች የተለያዩ የ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 ማከማቻ ይህን ባህሪ ለመረዳት ጠቃሚ ነው፣ ነገር ግን ያንን የግል የመረጃ አወቃቀር በእጅ መሙላት ውቅሩን ከአተገባበር ዝርዝሮች ጋር ያሰርዋል።