Proxy

創建向請求添加基本身份驗證的 HTTP 代理的最簡單方法是什麼?

  • September 20, 2021

我正在嘗試使用需要基本 HTTP 身份驗證的伺服器提供的服務,但是我使用的應用程序不支持身份驗證。我想做的是創建一個代理,使我的無身份驗證應用程序能夠通過代理(這將添加身份驗證資訊)連接到需要身份驗證的伺服器。我確信這是可以做到的,但是我對那裡的代理數量感到不知所措,無法找到如何做到這一點的答案。

基本上,我想做的只是讓一個代理伺服器為這個 URL 提供服務:

http://username:password@remoteserver/path

作為這個網址:

http://proxyserver/path

我可以在 Linux 上執行它,但如果我也可以在 Windows 上執行它,那就更好了。開源或至少免費是必須的。一個很大的優點是它的設置相當簡單。

基本身份驗證通常是“使用者名:密碼”和 HTTP 標頭“授權”的 Base64 編碼字元串。

通過將以下內容添加到 Apache2 vHost 你應該沒問題:

<Location /path>
   RequestHeader set Authorization "Basic <base64string>"
</Location>

ProxyPass /path http://backend/path
ProxyPassReverse /path http://backend/path

您可以在http://www.motobit.com/util/base64-decoder-encoder.asp(例如)對“使用者名:密碼”部分進行 base64 編碼。上面的範例需要 mod_headers 和 mod_proxy(應該適用於 - Linux 和 Windows - 使用 Apache2。

引用自:https://serverfault.com/questions/239154