0

我正在将 apache 流量服务器设置为转发代理,并希望从外部推送缓存中的一些对象。我尝试按照 此处给出的说明进行操作。

当我尝试推动一个对象时,我得到的输出是

telnet 127.0.0.1 8080
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
PUSH http://www.company.com HTTP/1.0
Content-length: 84

HTTP/1.0 200 OK
Content-type: text/html
Content-length: 17

<HTML>
a
</HTML>
HTTP/1.0 400 Response Not Cachable
Date: Sun, 02 Aug 2015 16:55:41 GMT
Server: ATS/3.2.4
Cache-Control: no-store
Content-Type: text/html
Content-Language: en
Content-Length: 200

<HEAD><TITLE>Response Not Cachable</TITLE></HEAD>
<BODY BGCOLOR="white" FGCOLOR="black">
<FONT FACE="Helvetica,Arial"><B>
</B></FONT>

<!-- default "Response Not Cachable" response (400) -->
</BODY>
Connection closed by foreign host.

4

1 回答 1

0

是的,您必须使用正确的、可缓存的响应标头提交 PUSH 请求。根据您的 ATS 设置,这可能是像Last-Modified标头一样简单的东西,或者更可能是(ATS 默认值)正确指定的 Cache-Control: max-age=标头。

编辑:查看 ATS 源附带的 traffic_primer 脚本,或来自 github 的https://github.com/apache/trafficserver/blob/master/tools/traffic_primer。它并不能完全按照您的要求执行,但它所做的是使用 PUSH 将请求从源“重播”到其他 ATS 框。

于 2015-08-03T02:34:35.070 回答