como desabilitar o cabeçalho X Forwarded do verniz

3

Estou usando o nginx < = > verniz < = > apache

Estou passando IP do cliente para verniz via nginx proxy_set_header X-Forwarded-Para $ remote_addr;

mas o verniz também adiciona o X-Forwarded-For como 127.0.0.1, de modo que o apache exiba 2 IPs baseados em vírgulas.

eu preciso de IP enviar por nginx apenas eu quero desabilitar o verniz adicionando 127.0.0.1

versão do verniz 3.0.0 aqui é default.vcl

backend default { .host = "204.29.58.4"; .port = "80"; } sub vcl_recv { if (req.http.Range) { return(pipe); } }

    
por hebrew878 15.07.2013 / 23:19

1 resposta

6

A função vcl_recv padrão (que é anexada à sua) contém isso:

 if (req.restarts == 0) {
   if (req.http.x-forwarded-for) {
       set req.http.X-Forwarded-For =
           req.http.X-Forwarded-For + ", " + client.ip;
   } else {
       set req.http.X-Forwarded-For = client.ip;
   }
 }

.. que está modificando o cabeçalho. Para evitar que isso aconteça, você deve ter seu vcl_recv implementado como uma função completa que sempre retorna, em vez de depender do acréscimo do comportamento padrão, que contém a configuração que você não deseja. Algo parecido com isto:

sub vcl_recv {
    if (req.http.Range) {
      return(pipe);
    }
    if (req.request != "GET" &&
      req.request != "HEAD" &&
      req.request != "PUT" &&
      req.request != "POST" &&
      req.request != "TRACE" &&
      req.request != "OPTIONS" &&
      req.request != "DELETE") {
        /* Non-RFC2616 or CONNECT which is weird. */
        return (pipe);
    }
    if (req.request != "GET" && req.request != "HEAD") {
        /* We only deal with GET and HEAD by default */
        return (pass);
    }
    if (req.http.Authorization || req.http.Cookie) {
        /* Not cacheable by default */
        return (pass);
    }
    return (lookup);
}
    
por 15.07.2013 / 23:30