Geo#
O módulo cria variáveis com valores dependendo do endereço IP do cliente. Descreve a dependência dos valores da variável especificada no endereço IP do cliente. Por padrão, o endereço é obtido da variável $remote_addr, mas também pode ser obtido de outra variável, por exemplo: Nota Como as variáveis são avaliadas apenas quando usadas, a mera existência de até mesmo um grande número de variáveis Se o valor de uma variável não representa um endereço IP válido, então o endereço "255.255.255.255" é usado. Os endereços são especificados como prefixos em notação CIDR (incluindo endereços individuais) ou como intervalos. Os seguintes parâmetros especiais também são suportados: exclui a rede especificada o valor definido para a variável se o endereço do cliente não corresponder a nenhum dos endereços especificados. Quando os endereços são especificados em notação CIDR, inclui um arquivo com endereços e valores. Pode haver várias inclusões. define endereços confiáveis. Quando uma requisição vem de um endereço confiável, um endereço do campo de cabeçalho de requisição habilita busca recursiva de endereço. Se a busca recursiva estiver desabilitada, então em vez do endereço original do cliente que corresponde a um dos endereços confiáveis, o último endereço enviado em indica que os endereços são especificados como intervalos. Este parâmetro deve ser o primeiro. Para acelerar o carregamento de uma base geo, os endereços devem ser colocados em ordem crescente. Exemplo: O arquivo O valor da correspondência mais específica é usado. Por exemplo, para o endereço Exemplo de descrição de intervalo:Exemplo de Configuração#
geo $geo {
default 0;
127.0.0.1 2;
192.168.1.0/24 1;
10.1.0.0/16 1;
::1 2;
2001:0db8::/32 1;
}
Diretivas#
geo#
geo $arg_remote_addr $geo {
...;
}
geo
declaradas não causa custos extras para o processamento de requisições.delete
default
0.0.0.0/0
e ::/0
podem ser usados em vez de default
. Quando default
não é especificado, o valor padrão será uma string vaziainclude
proxy
X-Forwarded-For
será usado em seu lugar. Em contraste com os endereços regulares, endereços confiáveis são verificados sequencialmente.proxy_recursive
X-Forwarded-For
será usado. Se a busca recursiva estiver habilitada, então em vez do endereço original do cliente que corresponde a um dos endereços confiáveis, o último endereço não confiável enviado em X-Forwarded-For
será usado.ranges
geo $country {
default ZZ;
include conf/geo.conf;
delete 127.0.0.0/16;
proxy 192.168.100.0/24;
proxy 2001:0db8::/32;
127.0.0.0/24 US;
127.0.0.1/32 RU;
10.1.0.0/16 RU;
192.168.1.0/24 UK;
}
conf/geo.conf
poderia conter as seguintes linhas:10.2.0.0/16 RU;
192.168.2.0/24 RU;
127.0.0.1
, o valor RU
será escolhido, não US
.geo $country {
ranges;
default ZZ;
127.0.0.0-127.0.0.0 US;
127.0.0.1-127.0.0.1 RU;
127.0.0.2-127.0.0.255 US;
10.1.0.0-10.1.255.255 RU;
192.168.1.0-192.168.1.255 UK;
}