Networking
使用 PAC 文件配置 Squid 代理
所以我在我的 ec2 實例上安裝並執行了 squid 代理伺服器。我的任務是讓任何 pc 客戶端在訪問某些站點時僅連接到代理,並且將使用正常 wifi 連接進行其他所有操作。諸如白名單之類的東西,或者僅對某些特定站點使用代理而不是其他任何東西。
這樣的事情有可能實現嗎?
非常感謝任何幫助或指導。
乾杯!
是的,這是典型的 PAC 文件用法,請查看以下範常式式碼:
function FindProxyForURL(url, host) { // If the hostname matches, send to the proxy. if (dnsDomainIs(host, "exampldomain.com") || shExpMatch(host, "(*.abcdomain.com|abcdomain.com)")) return "PROXY 1.2.3.4:8080"; // DEFAULT RULE: All other traffic, send direct. return "DIRECT"; }
dnsDomainIs 和 shExpMatch 是檢查域名是否匹配的兩個函式,dnsDomainIs 評估主機名並在主機名匹配時返回 true。主要用於匹配和排除單個主機名。shExpMatch 將嘗試將主機名或 URL 匹配到指定的 shell 表達式,如果匹配則返回 true。
如果您想讓使用者在無法訪問代理的情況下嘗試直接連接,那麼您需要修改此行:
return "PROXY 1.2.3.4:8080";
成為:
return "PROXY 1.2.3.4:8080; DIRECT";