Registrando cabeçalhos de solicitação no nginx

5

Eu quero registrar cabeçalhos personalizados de solicitações de clientes. Eu adicionei "$ http_my_header" ao meu log_format e está logado muito bem para solicitações de POST. Toda solicitação GET, por outro lado, registrada com valor vazio.

O exemplo da solicitação GET:

GET /pws HTTP/1.1
upgrade: websocket
connection: Upgrade
sec-websocket-key: XXXX
host: XXXX
sec-websocket-origin: XXXX
sec-websocket-version: 13
X-Plumbr-sessionId: XXXX
X-Plumbr-accountId: XXXX
X-Plumbr-build: SNAPSHOT

Meu nginx log_format contém

"$http_x_plumbr_accountid" "$http_x_plumbr_build" 

Os cabeçalhos de registro em solicitações GET exigem alguma configuração especial?

    
por Nikem 24.09.2015 / 08:13

1 resposta

1

Eu não sei o quanto isso vai ajudar, mas vale a pena, aqui está uma configuração de bloco de servidor em funcionamento que eu estava usando para definir cabeçalhos de solicitação através de variáveis de solicitação padrão e procurá-los em um servidor IIS, onde eles estavam corretamente recebido e interpretado. Tenho certeza que você poderia fazer o mesmo, utilizando essas variáveis (ou as que você precisa) para incluir em seus logs de acesso, consultando a documentação do Nginx para ver o que todas as variáveis estão disponíveis. Aqui está o bloco do servidor que eu estava usando:

server {
        listen       8001;
        server_name  localhost;
        location / {
            proxy_set_header  x-client-IP      $remote_addr;
            proxy_set_header  x-forwarded-for  $proxy_add_x_forwarded_for;
            proxy_set_header  host             $http_host;
            proxy_pass        http://127.0.0.1:80/;
        }
}

Dependendo de onde você define seu formato de log e cria e / ou agarra valores de cabeçalho, o mesmo deve funcionar. Você também pode usar a lógica para o tipo de solicitação, que é algo que você pode querer verificar se o GET parece estar funcionando e o POST está dando um comportamento inesperado.

    
por 06.10.2015 / 07:51