Squid Web Cache Wiki

Squid Web Cache 文档

🔗 特性:代理协议

🔗 详细信息

经常出现的问题是,如何在不影响外部普通代理的控制的情况下,覆盖作为反向代理网关的本地代理的 Cache-Control 标头。

HTTP 的代理协议扩展允许充当内容分发网关(反向代理 或加速器代理)的代理被分配与用户浏览器和中间代理都不同的特定控制。

:information_source: 支持已添加到 ESI 协议之外的 Squid-3.0 中,在启用 ESI 功能时可以使用。

:information_source: Squid-3.2 将其独立出来供非 ESI 反向代理通用。

🔗 配置

🔗 Squid

适用于 Squid-3.2 及更高版本的简单设置

http_port 80 accel
visible_hostname cdn.example.com

🔗 测试

您可以使用您喜欢的工具或脚本来显示 Web 服务器收到的标头进行测试。使用上述配置,您应该会看到类似这样的内容

GET / HTTP/1.1
Surrogate-Capability: cdn.example.com="Surrogate/1.0"
...

或者可能是

GET / HTTP/1.1
Surrogate-Capability: proxy123.example.com="Surrogate/1.0"
...

:information_source: 引用的文本可能包含其他协议名称,例如:“Surrogate/1.0 ESI/1.0”

🔗 Web 服务器

Web 服务器或应用程序必须能够接收 Surrogate-Capability 标头并识别 ID 是否可接受。

:x: 可能需要特别注意。ID 标签“unset-id”、“unconfigured”和“localhost”、“localhost.localdomain”已知可能由许多损坏或配置错误的代理发送。

然后,Web 服务器或应用程序会在其 HTTP 响应中添加 Surrogate-Control 标头,其中包含要替代 Cache-Control 标头设置的指令。

有关 Surrogate-Control 的详细信息,请参阅 http://www.w3.org/TR/edge-arch

🔗 用法示例

squid

visible_hostname cdn.example.com

Web 服务器标头

HTTP/1.1 200 OK
Cache-Control: no-cache, max-age=900, s-max-age=3600
Surrogate-Control: max-age=86400;cdn.example.com
...

这做了什么

类别:功能

导航:站点搜索站点页面类别🔼 向上