Como determinar qual requisição o nginx envia a um proxy e qual serve?

2

Atualmente, tenho o proxy nginx para Fino , mas configurado para fornecer arquivos estáticos para o aplicativo que o Thin está veiculando em vez de intermediando o pedido.

O que eu gostaria de saber é como posso verificar se as regras estão configuradas corretamente. Como o Thin não registra solicitações, eu precisaria configurar os logs do nginx de forma que mostrasse quais solicitações foram exibidas como arquivos e quais foram passadas para o Thin. Isso é possível? Se sim, como?

    
por Zxaos 21.06.2012 / 06:07

3 respostas

2

Dependendo da sua configuração, pode ser fácil de conseguir. Aqui está a minha solução ...

server {
  server_name domainname.com;
  root /path/to/files;
  # index index.php index.html;

  # logging of all requests in access.log
  access_log /some/path/such/as/var/log/nginx/access.log;

  location / {
    try_files $uri $uri @thin;
  }

  location @thin {
    # pass the requests to thin
    # proxy_pass http://thin;

    # proxy specific logging in proxy-access.log
    access_log /some/path/such/as/var/log/nginx/proxy-access.log;
  }
}

Espero que isso ajude!

    
por 21.06.2012 / 14:55
3

crie um formato de log personalizado que inclua $upstream_response_time - se o seu back-end veicá-lo, você deve obter um número de milissegundos para obter uma resposta, se o nginx servir internamente, você deve obter um traço

    
por 21.06.2012 / 10:19
1

É um hack realmente sujo, mas faça com que Nginx ou Thin não tenham permissões de leitura para esses arquivos. :) Dessa forma, você será capaz de descobrir qual deles recebe um erro, portanto, lendo / servindo um arquivo.

Como alternativa, você deve poder adicionar um cabeçalho personalizado ao bloco de configuração que exibe arquivos estáticos. Então você poderá ver a presença do cabeçalho ou não.

    
por 21.06.2012 / 06:56

Tags