Requisitos: Utiliza nginx para bloquear que algunas IPs accedan a sitios web, como rastreadores, anuncios, etc. O por razones políticas, necesitas bloquear el acceso desde una dirección IP en un país concreto.
Acceso IP especificado por bloque
Nginx proporciona dos de los comandos más básicos para enmascarar y permitir IPs: negar bloquear y permitir permitir, de la siguiente manera:
Especificar directorio para bloquear el acceso desde IPs especificadas
En el archivo de configuración de Nginx, puedes usar bloques de ubicación para coincidir rutas específicas de URL. Por ejemplo, queremos habilitar el enmascaramiento en rutas de URL que empiecen por /foo, coincidiendo con todas las rutas de URL que empiecen en /foo, como /foo/bar y /foo/baz/qux, etc., de la siguiente manera:
Si quieresCoincidencia exacta /foopara utilizar la siguiente configuración:
También puedes comparar el directorio con regex:
Bloquear el acceso al país (región) especificado.
A veces queremos permitir que solo ciertas regiones accedan a nuestra web. Conociendo los dos métodos anteriores, el problema restante es cómo obtener todos los segmentos IP en una determinada región. Podemos conseguirlo desde ip2location. Dirección:El inicio de sesión del hipervínculo es visible.
Selecciona el país en el lado izquierdo de la caja, selecciona V4 o V6 en el recuadro central y selecciona el tipo de regla a la derecha. Tomemos Japón como ejemplo:
Descarga y descomprime para obtener el archivo txt,Elimina la primera ubicación / { y la última },Finalmente, añade una línea para permitir todo;Cambia el nombre del sufijo de .txt a .conf y súbelo al servidor, recordando el directorio donde se colocó. (por ejemplo, /usr/local/nginx/conf/nginx.conf/firewall.conf)
Modifica el archivo de configuración Nginx correspondiente al sitio, como el directorio /foo, para permitir el acceso solo desde IPs no japonesas:
Si quieres que sea para todo el sitio, puedes escribir en el servidor o en el campo http, por ejemplo:
Luego introduce el siguiente comando para recargar la configuración nginx:
|