Linux

自動代理髮現 wpad.example.com 不起作用

  • October 2, 2014

我正在嘗試通過將瀏覽器設置為“自動檢測”來設置在本地網路上發現我的 Squid 代理的自動方法。

如果我在客戶端瀏覽器中手動指定 IP:Port,代理很好並且可以工作,如果在客戶端瀏覽器中指定腳本 url,wpad 腳本也可以工作。

但是,我想在本地網路中的每個瀏覽器上設置自動檢測,並且不起作用,瀏覽器直接顯示帶有訪問被拒絕消息的 squid 頁面,並且不提示使用者/密碼獲取訪問權限。

我說的代理伺服器工作正常,是一個 Squid 3.1 透明代理。

代理伺服器

IP:192.168.1.252

/etc/squid3/squid.conf 相關設置

http_port 3128 transparent

防火牆防火牆規則設置

REDIRECT   lan          3128     tcp   80    - !192.168.1.0/24

我的 DNS 伺服器設置了這個

因此,wpad.example.com/wpad.dat 在 localnetwoks 站中得到了很好的解決,檢查。 這是有關此的相關文件

apacheserver    A          192.168.1.25
wpad            CNAME      apacheserver

apacheserver 有這個:

/etc/apache2/sites-enable/wpad

# Auto Proxy Configuration
<VirtualHost *:80>
   ServerAdmin webmaster@example.com
   DocumentRoot /srv/custom/wpad
   ServerName wpad.example.com

   AddType application/x-ns-proxy-autoconfig  .dat
   AddType application/x-ns-proxy-autoconfig  .pac

</VirtualHost>
# vim:ft=apache:

/srv/自定義/wpad/

-rw-r--r--  1 root root  346 oct  2 11:59 wpad.dat
lrwxrwxrwx  1 root root    8 oct  2 10:52 proxy.pac -> wpad.dat
lrwxrwxrwx  1 root root    8 oct  2 10:52 proxy.dat -> wpad.dat

/srv/custom/wpad/wpad.dat

function FindProxyForURL(url,host) {
   if(isInNet(host,"127.0.0.1","255.0.0.0"))
       return "DIRECT";

   if(isPlainHostName(host))
       return "DIRECT";

   if(isInNet(host,"192.168.1.0","255.255.255.0"))
       return "PROXY 192.168.1.252:3128; DIRECT";

   else
       return "PROXY 192.168.1.252:3128; DIRECT";
}

我在這裡想念什麼?

自己解決了。

在 apache 伺服器訪問日誌中找到了這個

192.168.1.70 - - [02/Oct/2014:16:20:02 -0300] "GET /wpad.dat HTTP/1.1" 404 493 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36"

Firefox,正在嘗試從中獲取文件,http://wpad/wpad.dat而不是http://wpad.example.com/wpad.dat

在 apache 伺服器中創建 wpad.dat 文件DocumentRootoServerAlias wpad解決問題

# Auto Proxy Configuration
<VirtualHost *:80>
   ServerAdmin webmaster@example.com
   DocumentRoot /srv/custom/wpad
   ServerName wpad.example.com
   ServerAlias wpad

   AddType application/x-ns-proxy-autoconfig  .dat
   AddType application/x-ns-proxy-autoconfig  .pac

</VirtualHost>
# vim:ft=apache:

以防萬一我在 /var/www 下放置一個指向 /srv/custom/wpad/wpad.dat 的符號連結

#ls -l /var/www
lrwxrwxrwx  1 www-data www-data   25 oct  2 16:45 wpad.dat -> /srv/custom/wpad/wpad.dat

新日誌:

192.168.1.196 - - [02/Oct/2014:16:22:37 -0300] "GET /wpad.dat HTTP/1.1" 200 606 "-" "Mozilla/5.0 (compatible; IE 11.0; Win32; Trident/7.0)"

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