Empurrar conteúdo para o cache do servidor de tráfego do Apache

1

Estou tentando usar a opção de envio de cache do Apache Traffic Server (ATS), para enviar algum conteúdo para o meu cache. Eu li a documentação, e tentei segui-la, mas tenho as seguintes questões / problemas usando esta opção:

1 - Na documentação mencionada para ativar a solicitação PUSH, modifique proxy.config.http.quick_filter.mask em records.config . No entanto, não consegui encontrar uma super máscara para modificar nesse arquivo. Executar grep -r proxy.config.http.quick_filter.mask . na pasta de configuração do ATS mostra-me que esta super-máscara existe no arquivo ip_allow.config . Eles são os mesmos? Devo modificá-lo ou devo adicioná-lo a records.config ? Infelizmente não posso verificar isso devido ao meu problema No.2.

2 - Não sei como enviar esta solicitação HTTP PUSH e para quem (em qual porta - a mesma porta ATS está sendo executada?). Existe perl-script que supostamente automatizam o processo, embora eu ainda não tenha conseguido executar o script (não conheço nenhum perl, mas trabalhei nele - obtendo Can't locate File/MimeInfo/Magic.pm in @INC ). Eu queria imprimir a porta do script para ver como empurrar para o cache.

Quaisquer sugestões / sugestões serão apreciadas.

    
por mrz 23.01.2013 / 13:19

1 resposta

2

Consegui finalmente enviar conteúdo para o cache do ATS. Eu usei muitos tutoriais on-line, bem como a equipe de suporte do ATS. Veja como fazer isso no caso de alguém estar interessado:

Abra seu records.config em um editor. Você pode encontrar o arquivo em /usr/local/etc/trafficserver/ e realizar a seguinte modificação:

  • Verifique se a opção de cache do ATS está ativada CONFIG proxy.config.http.cache.http INT 1
  • Para ativar o conteúdo push no cache, primeiro você precisa ser capaz de fazer HTTP PUSH, definir CONFIG proxy.config.http.push_method_enabled INT 1
  • O ATS ignora a idade do objeto cahce CONFIG Proxy.config.http.cache.ignore_client_cc_max_age INT 1
  • Outras configurações de cache devem ser as seguintes:

    • 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
  • Defina o ATS para nunca validar os objetos de cache CONFIG Proxy.config.http.cache.when_to_revalidate INT 3

Em seguida, você precisa abrir o arquivo ip_allow.config na mesma pasta e fazer a seguinte modificação. ip_allow.config é o arquivo de configuração que declara os IPs e a ação que cada IP tem permissão para executar. Para permitir que o host local envie solicitações, tenha a seguinte linha no arquivo ip_allow.config :

src_ip=127.0.0.1                                  action=ip_allow  method=ALL

Agora seu ATS está configurado para aceitar o cache de envio. Abra um terminal e teste seguindo os passos abaixo:

# telnet 127.0.0.1 8080

Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.

(aqui você cole o que você quer empurrar, tenha em mente que ele deve ser uma solicitação de envio http VALID!)

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>

(o seguinte é o que você deve obter após um envio bem-sucedido para o cache)

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.

E finalmente responde às minhas perguntas:

1) proxy.config.http.quick_filter.mask foi movido de records.config para ip_allow.config . Você pode fazer com que o ATS os leia de um arquivo diferente alterando CONFIG proxy.config.cache.ip_allow.filename STRING ip_allow.config no arquivo records.config .

2) Desde que consegui trabalhar com o telnet, recusei-me a usar o script.

    
por 05.02.2013 / 13:13