ការចូល proxy URL ក្នុង Emacs 31.1៖ auth-source និងដែនកំណត់ CONNECT
កំណត់រចនាសម្ព័ន្ធ HTTP proxy ដែលមានការផ្ទៀងផ្ទាត់សម្រាប់បណ្ណាល័យ URL របស់ Emacs យល់ពីការស្វែងរកព័ត៌មានសម្ងាត់ Basic និងពិចារណាផ្លូវ HTTPS CONNECT ក្នុង Emacs 31.1។
អាសយដ្ឋានរបស់ proxy ប្រាប់ Emacs ថាត្រូវភ្ជាប់ទៅណា។ ការចូលរបស់វាជាផ្នែកមួយទៀតនៃការសន្ទនា។ សម្រាប់សំណើ HTTP ធម្មតា បណ្ណាល័យ URL របស់ Emacs អាចឆ្លើយតបនឹងការប្រឈមផ្ទៀងផ្ទាត់របស់ proxy ទទួលព័ត៌មានសម្ងាត់ពី auth-source ឬសួរដោយអន្តរកម្ម និងប្រើព័ត៌មានសម្ងាត់ដែលរក្សាទុកក្នុងសម័យឡើងវិញ។
ព័ត៌មានលម្អិតខាងក្រោមអនុវត្តតាម Emacs 31.1។ ពួកវាទាក់ទងនឹងប្រតិបត្តិការដែលប្រើ បណ្ណាល័យ URL; កម្មវិធីទាញយកខាងក្រៅដែលបើកដោយកញ្ចប់ Emacs មានផ្លូវផ្ទៀងផ្ទាត់រៀងខ្លួន។
កំណត់ផ្លូវ បន្ទាប់មកទុកឱ្យ HTTP សុំការចូល
ចំណុចចុងក្រោយ proxy ថេរអាចជ្រើសរើសដោយជម្រើសដែលបានចងក្រងជាឯកសារ៖
(setq url-proxy-services
'(("http" . "proxy.example:8080")
("https" . "proxy.example:8080")))
ជំនួសកន្លែងទំនេរដោយចំណុចចុងក្រោយដែលបានផ្តល់។ កូនសោពិពណ៌នាអំពីគ្រោង URL គោលដៅ។ ការបន្ថែមធាតុ HTTPS ជ្រើសរើសផ្លូវសម្រាប់គោលដៅ HTTPS; វាមិនផ្តល់ព័ត៌មានសម្ងាត់ដោយខ្លួនឯងទេ។
ក្នុងអំឡុងសំណើ HTTP ធម្មតា proxy អាចឆ្លើយតបដោយ 407 Proxy Authentication Required និងការប្រឈម Proxy-Authenticate។ បណ្ណាល័យ URL ជ្រើសរើសគ្រោងផ្ទៀងផ្ទាត់ដែលគាំទ្រ ហើយទទួលព័ត៌មានសម្ងាត់សម្រាប់ចំណុចចុងក្រោយ proxy។ បន្ទាប់មកវាព្យាយាមម្តងទៀតដោយ Proxy-Authorization។
សម្រាប់ការផ្ទៀងផ្ទាត់ Basic សំណើអន្តរកម្មអាចសួរឈ្មោះអ្នកប្រើ និងពាក្យសម្ងាត់ នៅពេលមិនមានព័ត៌មានសម្ងាត់សមស្រប។ សំណើដែលសម្គាល់ថាមិនអន្តរកម្មមិនអាចពឹងផ្អែកលើការសួរទាំងនោះបានទេ។ ការចូល proxy ក៏ដោយឡែកពីការចូលគេហទំព័រគោលដៅដែរ: ការប្រឈម 401 របស់គេហទំព័រអនុវត្តតាមផ្លូវផ្សេង។
ដាក់ព័ត៌មានសម្ងាត់អចិន្ត្រៃយ៍ក្នុង auth-source
ប្រសិនបើ auth-source អានឯកសារព័ត៌មានសម្ងាត់ដែលបានអ៊ិនគ្រីបដូចជា ~/.authinfo.gpg រួចហើយ ធាតុ Basic សម្រាប់ឧទាហរណ៍នេះមានទម្រង់ដូចខាងក្រោម៖
machine proxy.example port http login YOUR_LOGIN password YOUR_PASSWORD
ប្រើគណនី និងព័ត៌មានសម្ងាត់ពិតរបស់អ្នក ហើយត្រូវប្រាកដថាឯកសារស្ថិតក្នុង auth-sources ដែលបានកំណត់របស់អ្នក។ បន្ទាត់នេះបង្ហាញវាលដែលត្រូវគ្នា; វាមិនមែនជាការណែនាំឱ្យដាក់ពាក្យសម្ងាត់ក្នុងឯកសារចាប់ផ្តើម Lisp របស់អ្នកទេ។
ព័ត៌មានលម្អិតពីរមានសារៈសំខាន់ក្នុងការអនុវត្ត Basic របស់ Emacs 31.1។ វាស្វែងរកឈ្មោះម៉ាស៊ីន proxy ដោយគ្មានច្រក TCP ជាលេខ ហើយវាបញ្ជូនគ្រោង URL របស់ proxy ជាតម្លៃច្រករបស់ auth-source។ សម្រាប់ HTTP proxy នេះ តម្លៃនោះគឺ http ទោះបីជាការភ្ជាប់ TCP ប្រើច្រក 8080 ក៏ដោយ។
ការស្វែងរកនេះមិនរួមបញ្ចូល realm នៃការប្រឈម ឬច្រក proxy ជាលេខទេ។ កុំរំពឹងថាវានឹងជ្រើសរើសពាក្យសម្ងាត់ Basic ផ្សេងគ្នាសម្រាប់ realm ឬច្រក proxy ជាច្រើនលើឈ្មោះម៉ាស៊ីនតែមួយ។ Digest ប្រើការស្វែងរកម៉ាស៊ីនផ្សេង ដូច្នេះឧទាហរណ៍ខាងលើគឺសម្រាប់ Basic ជាពិសេស។
បណ្ណាល័យ URL ក៏រក្សា cache ផ្ទៀងផ្ទាត់រៀងខ្លួនដែរ។ ធាតុ Basic របស់វាបែងចែកចំណុចចុងក្រោយ proxy ហើយប្រើការផ្គូផ្គង realm ឬថតក្នុងចំណុចចុងក្រោយ; cache នោះដោយឡែកពីការស្វែងរក auth-source។ ការវាយពាក្យសម្ងាត់នៅពេលសួរអាចបំពេញ cache សម័យដោយមិនរក្សាទុកធាតុថ្មីក្នុងឯកសារព័ត៌មានសម្ងាត់អចិន្ត្រៃយ៍របស់អ្នក។
HTTPS មានជំហានផ្ទៀងផ្ទាត់មុនជាង
សម្រាប់គោលដៅ HTTPS តាមរយៈ HTTP proxy Emacs ផ្ញើ CONNECT មុន។ ដូច្នេះការផ្ទៀងផ្ទាត់អាចចាំបាច់មុនពេលវាទៅដល់ការភ្ជាប់អ៊ិនគ្រីបជាមួយគេហទំព័រ។
ក្នុង Emacs 31.1 អ្នកបង្កើតសំណើ CONNECT ពិនិត្យការផ្ទៀងផ្ទាត់ដែលមានរួចហើយតាមរយៈយន្តការផ្ទៀងផ្ទាត់របស់វា រួមទាំងព័ត៌មានសម្ងាត់ Basic ដែលបានឃ្លាំងសម្ងាត់។ ផ្លូវ Basic របស់វាមិនសួរ ឬទាញយកធាតុ auth-source ថ្មីនៅពេលនោះទេ។ ការឆ្លើយតប CONNECT ដែលមិនមែន 200 ក៏មិនចូលក្នុងកម្មវិធីដោះស្រាយការប្រឈម HTTP 407 ធម្មតាដែលបានពិពណ៌នាខាងលើដែរ។
ដូច្នេះ ធាតុ auth-source ដែលអាចឆ្លើយតបនឹងការប្រឈម HTTP Basic ធម្មតា មិនធានាថាសំណើ HTTPS ដំបូងរបស់សម័យថ្មីនឹងផ្ទៀងផ្ទាត់ដោយជោគជ័យទេ។ សម័យដែលមានព័ត៌មានសម្ងាត់ឃ្លាំងសម្ងាត់សមស្របមានស្ថានភាពចាប់ផ្តើមខុសគ្នា។ ការកែសម្រួលធាតុពាក្យសម្ងាត់តែមួយម្តងហើយម្តងទៀតមិនអាចលុបបំបាត់ភាពខុសគ្នានេះរវាងផ្លូវទាំងពីរដោយខ្លួនឯងទេ។
ប្រសិនបើប្រតិបត្តិការ HTTPS ឈប់នៅ proxy សូមកំណត់ថាតើ CONNECT បានទទួល 407 និងថាតើអ្នកកំពុងប្រើអាកប្បកិរិយារបស់កំណែនេះ។ បញ្ជាក់គ្រោងផ្ទៀងផ្ទាត់ដែល proxy ផ្តល់ជូនផងដែរ។ ធាតុព័ត៌មានសម្ងាត់ Basic មិនមែនជាអាដាប់ទ័រសកលសម្រាប់គ្រប់ប្រព័ន្ធផ្ទៀងផ្ទាត់សហគ្រាសទេ។
រក្សាការកំណត់រចនាសម្ព័ន្ធអចិន្ត្រៃយ៍ក្នុងជម្រើស proxy សាធារណៈ និងក្នុងផ្នែកខាងក្រោយព័ត៌មានសម្ងាត់ដែលអ្នកបានជ្រើសរើស។ ឃ្លាំង Basic ខាងក្នុងរបស់បណ្ណាល័យ URL មានប្រយោជន៍សម្រាប់យល់ពីអាកប្បកិរិយានេះ ប៉ុន្តែការបំពេញរចនាសម្ព័ន្ធទិន្នន័យឯកជននោះដោយដៃនឹងចងការកំណត់ទៅនឹងព័ត៌មានលម្អិតនៃការអនុវត្ត។