我使用 squid 作为代理服务器来阻止 URL 中的模式(例如:阻止 .jpg、.bmp 等)。现在我想通过代理服务器路由来自我的第二台服务器(运行 apache)的全部流量。
因此,当访问者访问 .jpg 文件时,代理服务器会阻止该请求。
设置:
- 服务器 #1 运行 squid3
- 服务器 #2 运行 apache2
如何配置 apache 以通过特定代理路由所有流量?
答案1
您需要的配置是反向代理。配置此类系统的主要要点是:
- Web 服务器的 DNS 名称必须指向 Squid 代理的 IP 地址
- 必须将 squid 代理配置为监听端口 80 上的请求(假设您想使用标准 HTTP 端口)并将请求转发到 apache 服务器(反向代理模式,使用 httpd-accelerator 模块)。有关示例,请参阅这里。如果您想要支持加密(HTTPS),您需要在 Squid 代理上拥有您的 SSL 证书/密钥,并进行相应的配置。
- 确保您的客户端无法访问 Apache 服务器(例如,通过使用私有 IP 地址,假设您的客户端位于该私有网络或防火墙之外)
- Apache 上需要客户端 IP 地址的任何内容都必须查看
X-Forwarded-For
squid 添加的标头,因为客户端 IP 地址将是 squid 服务器的 IP 地址。如果您想在 Apache 服务器上查看日志,而不是在 squid 代理上查看日志,这包括日志。