Squid代理服务器:缓存层次结构与反向代理模式配置详解
1. Squid代理服务器的请求路由指令
在Squid代理服务器的配置中, prefer_direct
指令仅对可缓存请求修改其行为。若要将所有请求通过防火墙代理进行路由,应使用 never_direct
指令。
对于非分层请求,即由 hierarchy_stoplist
指令识别或Squid无法缓存的请求,不应将其发送到缓存对等体,因为不会产生缓存命中。可通过将 nonhierarchical_direct
指令的值设置为 on
,将这些请求直接转发到远程服务器;若设置为 off
,则不会直接发送到远程服务器。不过,对于HTTPS请求,即使其不可缓存,也需将 nonhierarchical_direct
设置为 off
,以便通过防火墙父代理进行中继。通常不建议将 nonhierarchical_direct
设置为 off
,若要将所有请求通过防火墙代理,使用 never_direct
指令更佳。
若要配置代理服务器将所有请求转发到父代理服务器,且不直接与远程服务器通信,可按如下步骤操作:
- 编辑Squid配置文件。
- 添加或修改相关指令,确保所有请求被导向父代理服务器。
2. 对等体通信协议
当多个代理服务器组成缓存层次结构时