五大开源 Web 代理服务器横评:Squid、Privoxy、Varnish、Polipo、Tinyproxy

Web 代理软件转发 HTTP 请求时并不会改变数据流量。它们可以配置成透明代理,而无需客户端配置。它们还可以作为反向代理放在网站的前端;这样缓存服务器可以为一台或多台 web 服务器提供无限量的用户服务。

网站代理功能多样,有着宽泛的用途:从缓存页面、DNS 和其他查询,到加速 web 服务器响应、降低带宽消耗。代理软件广泛用于大型高访问量的网站,比如纽约时报、卫报, 以及社交媒体网站如 Twitter、Facebook 和 Wikipedia。

页面缓存已经成为优化单位时间内所能吞吐的数据量的至关重要的机制。好的 Web 缓存还能降低延迟,尽可能快地响应页面,让终端用户不至于因等待内容的时间过久而失去耐心。它们还能将频繁访问的内容缓存起来以节省带宽。如果你需要降低服务器负载并改善网站内容响应速度,那缓存软件能带来的好处就绝对值得探索一番。

五大开源 Web 代理服务器横评:Squid、Privoxy、Varnish、Polipo、Tinyproxy_第1张图片

为深入探查 Linux 下可用的相关软件的质量,我列出了下边5个优秀的开源 web 代理工具。它们中有些功能完备强大,也有几个只需很低的资源就能运行。

Squid

Squid 是一个高性能、开源的代理缓存服务器和 Web 缓存进程,支持 FTP、Internet Gopher、HTTPS 和 SSL 等多种协议。它通过一个非阻塞的、I/O 事件驱动的单一进程处理所有的 IPV4 或 IPV6 协议请求。

Squid 由一个主服务程序 squid,和 DNS 查询程序 dnsserver,另外还有一些可选的请求重写、执行认证程序组件,及一些管理和客户端工具构成。

Squid 提供了丰富的访问控制、认证和日志环境, 用于开发 web 代理和内容服务网站应用。

其特性包括:

  • Web 代理:

    • 通过缓存来降低访问时间和带宽使用

    • 将元数据和访问特别频繁的对象缓存到内存中

    • 缓存 DNS 查询

    • 支持非阻塞的 DNS 查询

    • 实现了失败请求的未果缓存

  • Squid 缓存可架设为层次结构,或网状结构以节省额外的带宽

  • 通过广泛的访问控制来执行网站访问策略

  • 隐匿请求,如禁用或修改客户端 HTTP 请求头特定属性

  • 反向代理

  • 媒体范围media-range

    限制

  • 支持 SSL

  • 支持 IPv6

  • 错误页面的本地化 - Squid 可以根据访问者的语言选项对每个请求展示本地化的错误页面

  • 连接固定Connection Pinning

    (用于 NTLM Auth Passthrough) - 一种允许 Web 服务器通过 Web 代理使用Microsoft NTLM 安全认证替代 HTTP 标准认证的方案

你可能感兴趣的:(奇文分享,Squid,Privoxy,Varnish,Polipo,Tinyproxy)