Regra de reconfiguração de localização Nginx que corresponde ao valor do cabeçalho GeoIP

1

Eu estou olhando para escrever uma regra de reescrita simples onde eu basicamente estou tentando dizer o seguinte

Se o URI solicitado for text / index.html (ou test /) e a Organização GeoIP for igual a "My GeoIP Value", então server test / index2.html

Eu tentei algumas diretivas e nada está funcionando como eu esperava.

A configuração atual que eu tenho é

map $geoip_org $redirectMe {
    default 0;
    'My GeoIP Org Value' 1;
}

server{
 ....

    location /test {
        try_files $uri index.html;

        expires -1;

        if ( $redirectMe ) {
            rewrite ^/test/index.html$ /test/test2.html break;
        }
    }

   .... 
}

Eu acho que ele não redireciona nada ou redireciona o tempo todo, independentemente da minha organização IP, assim como se fosse o cache do redirecionamento que eu pensei que o expira -1 iria resolver.

Eu também noto que recebo o HTTP 304 para solicitações, independentemente de serem redirecionadas ou não.

Alguém tem alguma indicação? Eu pensei que seria uma coisa simples. Eu também tentei não usar o mapa e colocar a comparação dentro do local, mas isso não funcionou e usar o mapa fora do servidor me permitiria alterar a lógica mais tarde.

Atualizar A resposta é que ele estava realmente funcionando e que era apenas o cache não atualizando quando eu executei um serviço de atualização do nginx.

A solução foi usar o serviço nginx force-reload (ou reiniciar apesar disso ser um exagero) e ele iria

    
por steve mapes 15.12.2014 / 19:03

1 resposta

0

A resposta é que ele estava realmente funcionando e que era apenas o cache não é refrescante quando eu executei um serviço nginx reload.

A solução foi usar o serviço nginx force-reload (ou reiniciar embora isso seja um exagero) e funcionaria

    
por 16.12.2014 / 11:06