首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动代理发现wpad.example.com不工作

自动代理发现wpad.example.com不工作
EN

Server Fault用户
提问于 2014-10-02 16:55:01
回答 1查看 8.6K关注 0票数 3

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

如果我在客户端浏览器中手动指定IP:Port,则代理是可以工作的;如果在客户端浏览器中指定脚本url,wpad脚本也可以工作。

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

正如我所说的,代理服务器工作正常,是一个Squid3.1透明代理。

代理服务器

知识产权: 192.168.1.252

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

代码语言:javascript
复制
http_port 3128 transparent

侧壁防火墙规则设置

代码语言:javascript
复制
REDIRECT   lan          3128     tcp   80    - !192.168.1.0/24

我的DNS服务器已经设置了这个

因此,wpad.example.com/wpad.dat在localnetwoks站点中被很好地解析,选中。这是有关这方面的相关文档

代码语言:javascript
复制
apacheserver    A          192.168.1.25
wpad            CNAME      apacheserver

apacheserver有:

/etc/apache2/sites-enable/wpad

代码语言:javascript
复制
# 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/custom/wpad/

代码语言:javascript
复制
-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

代码语言:javascript
复制
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";
}

我在这里错过了什么?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2014-10-02 19:30:26

解决了我自己。

这在apache服务器访问日志中找到。

代码语言:javascript
复制
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"

火狐正在尝试从http://wpad/wpad.dat而不是http://wpad.example.com/wpad.dat获取文件。

使用wpad.dat在apache服务器DocumentRoot o中创建ServerAlias wpad文件解决了这个问题。

代码语言:javascript
复制
# 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

代码语言:javascript
复制
#ls -l /var/www
lrwxrwxrwx  1 www-data www-data   25 oct  2 16:45 wpad.dat -> /srv/custom/wpad/wpad.dat

新的原木:

代码语言:javascript
复制
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)"
票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/633108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档