浏览器,proxy.pac,回退到直接访问

浏览器,proxy.pac,回退到直接访问

我们有一个 Linux 3.16,其中 Squid 3.4.8 监听端口 3128(不是透明代理)。

还有大约 1200 个 Windows 客户端,分布在 50 个不同的站点上。他们使用代理在互联网上导航。

我们的 proxy.pac 简化了:

function FindProxyForURL( url, host ) {
    return "PROXY 10.1.1.108:3128; DIRECT";
}

问题:

  1. 我找不到 squid3 在其监听套接字上使用的 backlog 值。是否有设置或 squid 使用 linux 默认值?

  2. squid3 / debian / demon 脚本:为什么维护人员设置了 ulimit -n 65535?

  3. 如何检查客户端是否因为 Linux 服务器太慢/太小而无法接受传入连接而直接转入?Linux 和 squid3 是否有特定的日志记录设置?

Linux 服务器有以下 TCP 积压:

猫/ proc / sys / net / ipv4 / tcp_max_syn_backlog

256

squid3 在调用时是否继承此设置

监听(socketfd,backlog)

或者 squid3 设置了它的特定值?


关于最大打开文件描述符

使用 ulimit 设置的操作系统限制

事情没那么简单。我们的服务器最多可以打开

cat /proc/sys/fs/文件最大大小

818029

squid3 可以处理多少个 fd?

squidclient mgr:信息|grep'文件描述'

正在发送 HTTP 请求...完成。

最大文件描述符数:65535

它是一个 Debian 8,维护人员构建了这个守护进程脚本

cat /etc/init.d/squid3 | grep ulimit

ulimit -n 65535

那么,将 squid3 fd 限制为 65535 的理由是什么?

祝好,萨拉

答案1

请一次只问一个问题。

哪些元素会让浏览器决定使用代理或直接访问?IE / Firefox / Chrome 的超时值?

您的 PAC 会告诉浏览器可以使用代理或直接访问。浏览器可以选择,但应该优先使用代理。它如何选择取决于浏览器。

RTFM ...我找不到 squid3 在其监听套接字上使用的 backlog 值。是否有设置或 squid 使用 linux 默认设置?

操作系统底层 TCP 设置可能会影响实际传送给 Squid 的内容。squid.conf max_filedescriptors 设置确定 Squid 可以同时处理的 FD(套接字和文件)数量的上限,每个传入的客户端 TCP 连接需要 2 到 6 个 FD 才能产生响应。

答案2

哪些因素会使浏览器决定使用代理或直接访问?

如果这是您的 PAC,则成功下载并解析该 pac 文件。浏览器获得 PAC 后,不会在超时后尝试不使用它。

我如何检查客户端是否因为 Linux 服务器太慢而直接接受传入连接?Linux 和 squid3 是否有特定的日志记录设置?

如果客户端决定不使用代理,则不会在 squid 中记录任何内容,因为客户端不使用代理。实际上,除非您设置了防火墙规则,否则 Linux 机器上根本不会记录任何内容。

无论如何,如果您真的想强制使用代理,只需阻止边界设备上的传出端口 tcp 443/80,除非请求来自代理。

相关内容