ಪ್ರಾಕ್ಸಿಯ ವಿಳಾಸವು 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 ಸಂಗ್ರಹ ಈ ವರ್ತನೆಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಉಪಯುಕ್ತವಾಗಿದೆ, ಆದರೆ ಆ ಖಾಸಗಿ ಡೇಟಾ ರಚನೆಯನ್ನು ಕೈಯಿಂದ ತುಂಬುವುದು ಸಂರಚನೆಯನ್ನು ಅನುಷ್ಠಾನ ವಿವರಗಳಿಗೆ ಬಿಗಿಯುತ್ತದೆ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು