將內容推送到 Apache Traffic Server 的記憶體
我正在嘗試使用Apache Traffic Server(ATS) 的推送記憶體選項,將一些內容推送到我的記憶體中。我閱讀了文件,並嘗試遵循它,但使用此選項我有以下問題/問題:
**1 -**在它提到的文件中,為了啟用 PUSH 請求,修改
proxy.config.http.quick_filter.mask
.records.config
然而我在那個文件中找不到這樣一個超級遮罩來修改。在 ATS 配置文件夾中執行grep -r proxy.config.http.quick_filter.mask .
顯示此超級遮罩存在於ip_allow.config
文件中。他們是一樣的嗎?我應該在那裡修改它還是應該添加它records.config
?不幸的是,由於我的問題 2,我無法檢查這一點。**2 -**我不確定如何發送這個 HTTP PUSH 請求以及發送給誰(在哪個埠上 - 同一個埠 ATS 正在執行?)。有一個perl-script假設可以自動執行該過程,儘管我還不能執行該腳本(不知道任何 perl 但正在研究它 - 獲取
Can't locate File/MimeInfo/Magic.pm in @INC
)。我想從腳本中列印出埠,看看如何推送到記憶體中。任何提示/提示將不勝感激。
我終於設法將內容推送到 ATS 記憶體中。我使用了很多線上教程以及 ATS 支持團隊,如果其他人有興趣,可以這樣做:
在編輯器中打開您的 records.config。您可以在下面找到該文件
/usr/local/etc/trafficserver/
並執行以下修改:
確保啟用 ATS 記憶體選項
CONFIG proxy.config.http.cache.http INT 1
為了首先啟用將內容推送到記憶體中,您需要能夠進行 HTTP PUSH,設置
CONFIG proxy.config.http.push_method_enabled INT 1
讓 ATS 忽略 cahce 對象年齡
CONFIG Proxy.config.http.cache.ignore_client_cc_max_age INT 1
其他記憶體配置應如下所示:
CONFIG proxy.config.http.cache.ignore_client_no_cache INT 1
CONFIG proxy.config.http.cache.ims_on_client_no_cache INT 0
CONFIG proxy.config.http.cache.ignore_server_no_cache INT 1
將 ATS 設置為從不驗證記憶體對象
CONFIG Proxy.config.http.cache.when_to_revalidate INT 3
然後您需要
ip_allow.config
在同一文件夾中打開文件並進行以下修改。ip_allow.config
是聲明 IP 和每個 IP 允許執行的操作的配置文件。為了允許本地主機推送請求,ip_allow.config
文件中有以下行:src_ip=127.0.0.1 action=ip_allow method=ALL
現在您的 ATS 設置為接受推送記憶體。通過執行以下步驟打開終端並進行測試:
# telnet 127.0.0.1 8080 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'.
(在這裡粘貼您要推送的內容,請記住它應該是 VALID http 推送請求!)
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 200 OK Date: Tue, 05 Feb 2013 16:00:22 GMT Server: ATS/3.2.0 Content-Length: 0 Connection closed by foreign host.
最後回答我的問題:
1)
proxy.config.http.quick_filter.mask
已從records.config
移至ip_allow.config
。您可以通過更改文件讓 ATS 從不同的文件中讀取CONFIG proxy.config.cache.ip_allow.filename STRING ip_allow.config
它們records.config
。
- 由於我設法使用 telnet,我拒絕使用該腳本。