Durante la creazione di questo sito, Volevo lavorare sui post e modificare il design prima di rilasciarlo al pubblico, quindi avevo bisogno di un modo semplice per tenere lontani tutti gli altri finché tutto non fosse pronto per partire. Quindi ho usato la funzione di controllo degli accessi nginx per ottenerlo.
Sarebbe stato invece più sicuro configurare nginx HTTP Auth e chiedere un nome utente e una password, e ciò mi avrebbe anche consentito di utilizzare più facilmente i miei dispositivi mobili per accedere al sito. Ma se a un certo punto hai usato l'autenticazione HTTP, saprai che è estremamente fastidioso, soprattutto sui dispositivi mobili, dover inserire sempre le proprie credenziali.
Quindi, Invece, ho usato una semplice regola di autorizzazione dell'indirizzo IP per l'ip del mio ufficio e ho bloccato tutto il resto.
Apri il tuo file nginx.conf (o qualunque file di configurazione nginx stai usando per il tuo particolare sito) e aggiungi quanto segue al blocco del tuo server o a un blocco di posizione specifico, a seconda di quanto granulare vuoi ottenere con il blocco.
Per consentire un intervallo di indirizzi IP:
permettere 10.1.1.0/24;
O per consentire un solo IP:
permettere 10.1.1.2
E dopo sotto, per bloccare tutti gli altri:
negare tutto;
Perché, ti ritroverai con un server o un blocco di posizione simile a questo:
server { Ascoltare 80; nome_server www.systempeaker.com; permettere 10.1.1.2; negare tutto;
È davvero così semplice. Ora vorrai ricaricare il tuo server nginx, cosa puoi fare con questo comando per i server Ubuntu o Debian:
servizio nginx ricarica
Oppure puoi ricaricare direttamente usando l'eseguibile nginx, supponendo che si trovi nello stesso posto del mio (regolare il percorso altrimenti)
/usr/local/nginx/sbin/nginx -s ricarica
L'argomento -s dice a nginx che invierà a “cartello” e che il segnale è “ricaricare”, che ricarica il server con grazia senza causare molti problemi.