richiesta nginx reindirizzata

1

Ho notato che nel mio nginx access.log voci come questa:

XX.XX.XX.XX - - [05/Jan/2017:00:21:43 +0100] "GET / HTTP/1.1" 301 178 "-" "libwww-perl/6.05"

Questo è strano perché ho implementato il blocco GeoIP in nginx, quindi solo gli indirizzi IP dalla mia nazione e rete locale hanno accesso al mio server. Altri IP dovrebbero essere "bloccati" con il codice di stato HTTP 444. Questa implementazione di GeoIP dovrebbe funzionare, perché l'ho testata più volte.

Ma perché nginx restituisce 301 a questo indirizzo IP esterno (non nel mio paese)?

Questa è la mia configurazione di nginx:

server {
    listen 80;
    server_name example.com;

    # enforce https
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    server_name example.com;

    if ($lan-ip = yes) {
        set $allowed_country yes;
    }

    if ($allowed_country = no) {
        return 444;
    }

    root /var/www/html;

    # SSL Configuration
    # .
    # .
    # .
}

Questa è la parte di blocco GeoIP in nginx.conf :

geoip_country /usr/share/GeoIP/GeoIP.dat;

map $geoip_country_code $allowed_country {
    default no;
    DE yes;
}

geo $lan-ip {
    default no;
    192.168.0.0/24 yes;
}
    
posta PatrickMA 09.01.2017 - 12:15
fonte

0 risposte

Leggi altre domande sui tag