Adicionando e usando o cabeçalho (HTTP) no nginx

5

Estou usando dois sistemas (ambos são balanceador de carga nginx e um atua como backup). Eu quero adicionar e usar alguns cabeçalhos personalizados http. Por favor, dê sua sugestão

por exemplo

  upstream upstream0{
            #list of upstream servers
            server backend:80;
            server backup_load_balancer:777 backup;
            #healthcheck
  }

  server{
        listen  80;
        #Add custom header about the port and protocol  (http or https)
        server_name     _;
        location / {
                proxy_pass "http://upstream0;#" is included since links are not allowed in the post
        }

   }

// Sistema de backup

server{
        listen  777;
        server_name     _;
        #doing some other extra stuf

        #use port and protocol to direct
}

Obrigado

    
por mohan 15.08.2012 / 18:09

1 resposta

7

Se você quiser adicionar cabeçalhos, então você quer algo como isto:

server {
    listen  80;
    server_name     _;
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-Frame-Options sameorigin;
    add_header X-UA-Compatible "IE=Edge,chrome=1";
    add_header X-Your-Port-Header-Here $server_port;
    add_header X-Your-Protocol-Header-Here $scheme;
    set $yourcustomheader $scheme$server_port;
    add_header X-Your-Custom-Header $yourcustomheader;
    location / {
            proxy_pass http://upstream0;
    }

}

Você pode consultar as seguintes variáveis no Nginx . Se o acima não fornecer flexibilidade suficiente para você, dê uma olhada no módulo HttpHeadersMore , mas observe que não é fornecido na maioria das distribuições Nginx padrão, então você pode ter que compilar você mesmo. Se você usa o Debian, então, você pode encontrá-lo no nginx- extras do Dotdeb .

    
por 16.08.2012 / 22:58