Nginx
如何使用 nginx 代理到需要身份驗證的主機?
如何設置一個 nginx proxy_pass 指令,該指令還包括發送到代理主機的 HTTP 基本身份驗證資訊?
這是我需要代理到的 URL 範例:
http://username:password@192.168.0.5/export?uuid=1234567890
最終目標是允許一台伺服器從另一台伺服器(我們代理的伺服器)呈現文件,而不暴露代理伺服器的 URI。通過遵循此處找到的 Nginx 配置,我現在有 90% 的工作正確:
http://kovyrin.net/2010/07/24/nginx-fu-x-accel-redirect-remote/
我只需要添加 HTTP 基本身份驗證即可發送到代理伺服器
我得到了 alvosu 的答案,但我必須在 base64 字元串的引號內輸入單詞“Basic”,所以它看起來像這樣:
proxy_set_header Authorization "Basic dGVzdHN0cmluZw==";
前段時間我寫了一篇關於這個的文章。在此處查看詳細資訊:
http://shairosenfeld.blogspot.com/2011/03/authorization-header-in-nginx-for.html
例如:
location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://6.6.6.6:80; proxy_set_header Authorization "Basic a2luZzppc25ha2Vk"; }
“a2luZzppc25ha2Vk” 是 “king:isnaked” base64 編碼,因此適用於
請隨時查看部落格文章以獲取更多詳細資訊。