自动代理发现 wpad.example.com 不起作用

自动代理发现 wpad.example.com 不起作用

我正在尝试通过将浏览器设置为“自动检测”来设置一种在本地网络上发现我的 Squid 代理的自动方法。

如果我在客户端浏览器中手动指定 IP:端口,代理就可以正常工作;如果在客户端浏览器中指定脚本 url,wpad 脚本也可以工作。

但是,我想在本地网络中的每个浏览器上设置自动检测,但是不起作用,浏览器直接显示带有“拒绝访问”消息的 squid 页面,并且不提示输入用户/密码来访问。

正如我所说,代理服务器运行良好,是一个 Squid 3.1 透明代理。

代理服务器

IP:192.168.1.252

/etc/squid3/squid.conf 相关设置

http_port 3128 transparent

Shorewall 防火墙规则设置

REDIRECT   lan          3128     tcp   80    - !192.168.1.0/24

我的 DNS 服务器已设置此

因此,经检查,wpad.example.com/wpad.dat 在本地网络站中解析良好。 以下是关于此问题的相关文档

apacheserver    A          192.168.1.25
wpad            CNAME      apacheserver

apacheserver 有这个:

/etc/apache2/sites-enable/wpad

# Auto Proxy Configuration
<VirtualHost *:80>
    ServerAdmin [email protected]
    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/自定义/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";
}

我在这里遗漏了什么?

答案1

解决了自己。

在 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 文件DocumentRoot,解决ServerAlias wpad问题

# Auto Proxy Configuration
<VirtualHost *:80>
    ServerAdmin [email protected]
    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)"

相关内容