Squid Proxy Authentication
簡(jiǎn)單的說(shuō),其就是客戶端訪問(wèn)Squid時(shí),當(dāng)squid.conf里的配置里有proxy_auth時(shí), 其需要做驗(yàn)證,當(dāng)客戶單頭里沒(méi)有帶proxy_auth時(shí),Squid會(huì)返回407,告訴客戶端(瀏覽器)需要帶用戶名和密碼進(jìn)行驗(yàn)證,瀏覽器就會(huì)彈出popup,這個(gè)popup是瀏覽器內(nèi)部集成的(build-in)。
官方給出的How do I prevent Login Popups?
http_access deny mustLogin all,但是并沒(méi)用,依舊彈出
分析
彈出popup,是需要驗(yàn)證,但是客戶端沒(méi)有頭里沒(méi)有帶,或者帶的用戶名和密碼驗(yàn)證不過(guò)。
如果對(duì)于沒(méi)有滿足驗(yàn)證通過(guò)的,我直接不處理,扔掉請(qǐng)求
miss_access Determines whether network access is permitted when satisfying a request.
當(dāng)acl滿足時(shí),miss_access allow acl_name ,當(dāng)滿足acl_name時(shí),處理,否則不處理
acl radius-auth proxy_auth REQUIRED
miss_access allow radius-auth
http_access allow localhost
http_access deny all
效果
當(dāng)不滿足通過(guò)請(qǐng)求時(shí),直接不處理請(qǐng)求,客戶端的效果是ERR_CONNECTION_TIMED_OUT
發(fā)現(xiàn),當(dāng)用戶過(guò)期后,auth_param basic credentialsttl 5 minute,miss_access不生效,而http_access會(huì)生效。