[英]HTTP authenticate all varnish requests
我們正在嘗試使用Varnish來緩存我們定期點擊的第三方服務的結果。 不幸的是,當他們的服務失敗時,我們的網站幾乎變得無法使用。
我遇到的問題是我們連接的服務需要http身份驗證訪問我們遇到的任何URL。 我希望能夠在默認情況下在default.vcl文件中設置用戶名和密碼,以便在每個請求中自動包含身份驗證。
所以為了解決這個問題,我修改了HTTP頭,如下所示:
sub vcl_recv {
set req.http.Authorization = "Basic d2h5ZGlkeW91OmRlY29kZXRoaXM=";
}
編碼部分是您要使用的用戶名和密碼的base64:
echo -n "username:password" | base64
您可以在vcl_miss和vcl_pass中設置后端請求的屬性。
對於HTTP Basic身份驗證,您可以執行以下操作:
sub vcl_miss {
if (req.backend == "backend2") {
set bereq.http.Authorization = "Basic <base64string>";
}
}
不支持對后端請求的HTTP摘要身份驗證。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.