标签: squid

清漆与其他反向代理

我正在与一个组织合作,该组织已部署 Varnish 作为其所有 Web 流量的缓存反向代理。他们的流量由大量客户生成的动态网站组成,通常收集静态资产。

虽然我试图喜欢 varnish(原则上我认为它有一个非常好的架构),但我在管理它和解决出现的问题时遇到了一些麻烦,所以我想知道它是否真的是正确的选择。之前我用squid做反向代理,但是作用不同,所以没有比较明确的依据。

我的问题针对在生产中部署了 varnish 或针对替代方案认真评估它的人:您是坚持使用 varnish,还是最终使用了另一个反向代理?你坚持或转换的关键点是什么,如果你确实使用了其他东西,你最终使用了什么?

squid varnish reverse-proxy

13
推荐指数
1
解决办法
5082
查看次数

如何在 N 个 apache 服务器之间平衡传入的 Web 流量?

我希望使用 Heartbeat/Squid/Varnish/etc 之类的东西来平衡内部 apache 实例之间的传入流量。这必须是软件而不是硬件,因为我所有的东西都在 VPS 上运行。我在这方面没有很多经验,如果我滥用术语并选择了错误的包,那么很抱歉。

我已经草拟了一些东西来说明我所追求的。绿色部分是初始设置的样子,蓝色部分是由于流量增加而添加更多 apache 实例后的样子。这可能不是这些事情的工作方式,但理想情况下,我会将平衡器的 IP 添加到域的 DNS 中。然后平衡器将查看每个 apache 实例上有多少连接(通过一些内部 IP 或永久 IP 的配置列表)并平均分配连接。蓝色部分有第二个平衡器,因为我确信在某些时候平衡器也需要帮助。

也许我正在解决这个错误,但我正在寻找关于“平衡器/s”应该是什么以及如何设置它们的最佳实践的帮助。

任何帮助都会很棒。 替代文字

squid varnish load-balancing heartbeat apache-2.2

12
推荐指数
1
解决办法
4764
查看次数

使用 Squid 作为 Maven 存储库

有人知道如何使用 Squid 来代理 Maven 存储库吗?

什么是配置文件?

主要问题是 maven 客户端发出带有控制缓存行为的标头的 HTTP 请求(我想绕过它)。

这是一个典型的请求:

GET /maven/proxy/jboss-public/org/richfaces/richfaces-bom/4.2.0.Final/richfaces-bom-4.2.0.Final.pom HTTP/1.1
Cache-control: no-cache
Cache-store: no-store
Pragma: no-cache
Expires: 0
Accept-Encoding: gzip
User-Agent: Apache-Maven/3.0.4 (Java 1.6.0_26; Linux 2.6.32-38-generic)
Host: 192.168.2.171
Connection: Keep-Alive
Run Code Online (Sandbox Code Playgroud)

我已经disk_cache proxy_http为此使用了 Apache HTTPD(并启用了模块),但我正在创建一个镜像,而不是一个代理。

这是配置(基于该站点):

<Proxy *>
Order deny,allow 
Allow from all 
</Proxy>

# central 
ProxyPass /maven/proxy/central http://repo1.maven.org/maven2
ProxyPassReverse /maven/proxy/central http://repo1.maven.org/maven2
CacheEnable disk /maven/proxy/central

# jboss-public-repository-group 
ProxyPass /maven/proxy/jboss-public http://repository.jboss.org/nexus/content/groups/public
ProxyPassReverse /maven/proxy/jboss-public http://repository.jboss.org/nexus/content/groups/public
ProxyPassReverseCookiePath /nexus /maven/proxy/jboss-public
CacheEnable disk /maven/proxy/jboss-public

# codehaus
ProxyPass …
Run Code Online (Sandbox Code Playgroud)

squid maven apache-2.2

11
推荐指数
1
解决办法
1478
查看次数

如何为 Squid 代理启用 SOCKS5?

Squid'd 默认是作为 HTTP 代理运行;但是,此常见问题解答https://docstore.mik.ua/squid/FAQ-4.html#ss4.10说“将 Squid 与 socks5 一起使用无需更改。只需将通常的 -Dbind=SOCKSbind 等添加到编译行和 -lsocks 到链接行。”

这听起来很棒,除了我不知道基本语法之外我不会编写 c/c++ 代码,所以通常当我编译某些东西时,它是 ./configure 和 ./make。有时我必须修改 makefile 的编译行,但我不确定此处是否链接(尽管我了解链接的概念)。

通过“添加通常的 X 等”来准确解释要做什么也有点混乱,所以如果有人能在这里指出确切的步骤,这将是一个很大的帮助,因为它们似乎没有在任何地方详细说明。听起来并不难。

我已经为 HTTP 连接编译并正确运行了鱿鱼,但必须支持 SOCKS。

proxy squid socks

11
推荐指数
1
解决办法
3万
查看次数

将 Squid 配置为 HTTPS 转发代理?

这是我的问题的一些背景:

  • 我有一个在 Heroku 上运行的 Web 服务,具有动态 IP 地址。Heroku 上的静态 IP 不是一种选择。
  • 我需要连接到防火墙后面的外部 Web 服务。操作外部 Web 服务的人员只会将防火墙打开到特定的静态 IP。

我尝试的解决方案是在具有静态 IP 的单独服务器上使用 Squid 将代理请求从 Heroku 转发到外部服务。这样,外部服务总是看到代理服务器的静态 IP,而不是 Heroku 服务的动态 IP。

由于我的代理服务器不能依赖 IP 地址进行身份验证(这就是开始的问题!),它必须依赖用户名和密码。此外,用户名和密码不能以明文传输,因为如果攻击者要拦截明文,那么他们可以冒充我连接到我的代理,使用我代理的静态 IP 发出出站请求,从而逃避外部Web 服务的防火墙。

因此,Squid 代理必须只接受通过 HTTPS 的连接,而不是 HTTP。(与外部 Web 服务的连接可能是 HTTP 或 HTTPS。)

我在 CentOS 6.5.x 上运行 Squid 3.1.10,这是我squid.conf目前的情况。仅出于故障排除目的,我暂时启用了 HTTP 和 HTTPS 代理,但我只想使用 HTTPS。

#
# Recommended minimum configuration:
#
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1

# Example …
Run Code Online (Sandbox Code Playgroud)

proxy https squid heroku

10
推荐指数
1
解决办法
5万
查看次数

Squid3 不缓存较大的文件

我尝试使用 squid 缓存从 yum 存储库获取的 rpm 包。使用以下配置,它适用于较小的 rpm,但不会缓存较大的,如 openjdk。

从日志文件(如下)来看,即使maximum_object_size 128 MB设置了它,它似乎也不会缓存大于 4MB 的文件。

任何建议可能有什么问题?

鱿鱼.conf:

acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port …
Run Code Online (Sandbox Code Playgroud)

squid

10
推荐指数
1
解决办法
8207
查看次数

如何为鱿鱼透明代理设置客户端?

服务器详情

Squid Transparent Proxy Version: 3.3.8
OS: Ubuntu Server 14.04
Server IP: 192.168.1.3
Run Code Online (Sandbox Code Playgroud)

鱿鱼配置文件

(不包括使用 grep 的评论)

root@ubuntu:~# grep -v '^$\|^\s*\#' /etc/squid3/squid.conf
acl SSL_ports port 443
acl Safe_ports port 80      # http
acl Safe_ports port 21      # ftp
acl Safe_ports port 443     # https
acl Safe_ports port 70      # gopher
acl Safe_ports port 210     # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280     # http-mgmt
acl Safe_ports port 488     # gss-http
acl Safe_ports port 591     # …
Run Code Online (Sandbox Code Playgroud)

squid transparent-proxy ubuntu-14.04

10
推荐指数
2
解决办法
8万
查看次数

Squid 或其他带有 SSD 缓存存储的 HTTP 缓存?

我正在考虑在带有 SSD 驱动器的系统上设置鱿鱼(或可能是清漆)缓存。

明显的好处是这些系统具有很高的读取速度,我希望我的命中率相当高。

假设我可以将 7 个 SSD 放入 RAID 配置中。(有些情况可以让我打包更多)

实施问题:

  • 我应该使用RAID0吗?(我希望驱动器最终会失败,所以这看起来很危险。)

  • 我应该使用RAID10吗?(这将我的磁盘占用空间减半,这很昂贵。)

  • 我应该使用RAID5吗?(众所周知,SSD 具有“糟糕”的写入性能和写入限制,所有额外的奇偶校验写入可能会大大减慢这一速度。)

  • 我应该将每个磁盘视为自己的鱿鱼数据存储吗?(squid 处理多个数据存储的效果如何?如果/当一个失败时会发生什么?)

  • 我是否应该忽略数据存储而只是将 SSD 放入大型 SWAP 分区并让 linux VM 来做这件事?(看起来很草率)

在生产环境中使用 SSD 的人们的任何建议将不胜感激。(特别是如果您将它们用于 HTTP 缓存)

raid http ssd cache squid

9
推荐指数
1
解决办法
6334
查看次数

Squid 作为 Socks5 代理服务器

我的一个朋友住在一个他们审查网站的国家,他们正在与人们用来绕过审查的技术作斗争。

他告诉我,他现在可以绕过审查的唯一方法是使用 SOCKS 代理(该国家/地区阻止了与外界的 VPN 和 SSH 连接)

我按照本教程中的步骤使用 Squid 配置了一个 Web HTTP 代理服务器:http : //www.howtoforge.com/linux_secure_browsing_squid

现在我的朋友可以更改他的 IP 地址并使用新的 IP 地址浏览网站,但他告诉我他仍然无法访问被审查的网站,因为浏览没有编码。

谁能帮助我如何将 Squid 配置为 Sock5 代理服务器?

我的服务器是 Debian 5

提前致谢。

proxy squid socks

9
推荐指数
1
解决办法
4万
查看次数

我为什么要使用鱿鱼?

我用谷歌搜索过,搜索过 StackOverflow 和这里。我仍然不能完全理解什么或为什么有人会使用 Squid。

到目前为止,我只能发现它是某种缓存,可以减少您的服务器(即 Apache)必须做的工作。那么有人可以确切地澄清 Squid 的作用,更重要的是,我为什么要使用 Squid?

我有一个大型社交网站,所以也许它会有益于提供图像或其他东西,我目前正在运行与 Apache 分开的 lighttpd,仅用于提供图像。

proxy squid reverse-proxy

8
推荐指数
1
解决办法
1万
查看次数