GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo configurar el bloque GeoIP usando Apache

Configure el bloqueo basado en GeoIP usando Apache en Ubuntu o Debian. El módulo GeoIP permite al administrador bloquear o redirigir el tráfico según la ubicación.

En esta guía, aprenderá cómo instalar el módulo GeoIP y configurarlo para bloquear países específicos.

Requisitos

Apache instalado y configurado. Puede consultar esta guía sobre cómo instalar y configurar Apache2.

Instalar Módulo GeoIP

Instale el módulo GeoIP para Apache usando el siguiente comando.

sudo apt install libapache2-mod-geoip

Este comando instalará el módulo requerido para Apache.

Habilitar GeoIP

Hay 2 métodos para habilitar GeoIP. Si desea habilitar todo el servidor GeoIP, puede seguir el método 1. Este método tendrá algunos problemas de rendimiento.

También puede habilitar GeoIP desde la configuración de su host virtual.

Método 1:configuración de todo el servidor

Una vez que el módulo esté instalado, edite la configuración del módulo y realice los cambios que se indican a continuación.

Edite el archivo de configuración del módulo de archivos.

sudo nano /etc/apache2/mods-available/geoip.conf
  • Establecer la línea GeoIPEnable desde Desactivado a Encendido .
  • Elimine los comentarios del archivo GeoIPDB línea.

Su archivo final debería verse como a continuación.

<IfModule mod_geoip.c>
  GeoIPEnable On
  GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
</IfModule>

Guarde y salga del archivo.

Habilitar módulo.

sudo a2enmod geoip

Método 2:configuración del host virtual

Como tiene instalado el módulo, debe tener instalada la base de datos GeoIP. Por lo tanto, puede editar la configuración de su host virtual y realizar los siguientes cambios.

Edite la configuración de su host virtual.

sudo nano /etc/apache2/sites-available/virtualhost.conf

Agregue lo siguiente debajo de ServerAlias directiva.

GeoIPEnable On
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
GeoIPScanProxyHeaders On

Guarde y salga del archivo.

Reiniciar Apache

Compruebe si la configuración es correcta y reinicie Apache.

sudo apachectl configtest
sudo service apache2 restart

Ahora tiene GeoIP habilitado.

Administrar restricciones

Bloquear ciertos países

Cree o abra el archivo .htaccess que se encuentra dentro de su directorio raíz web y agregue el siguiente fragmento para bloquear países.

SetEnvIf GEOIP_COUNTRY_CODE UA BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE VN BlockCountry
Deny from env=BlockCountry

La configuración anterior bloqueará las solicitudes de los 2 países anteriores. Puede incluir según su deseo.

Permitir determinados países

Cree o abra el archivo .htaccess que se encuentra dentro de su directorio raíz web y agregue el siguiente fragmento para permitir países.

SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE CA AllowCountry
Deny from all

Allow from env=AllowCountry

La configuración anterior permitirá solicitudes solo de los 2 países anteriores. Puede incluir según su deseo.

Puede encontrar la lista de Códigos de países de la base de datos oficial maxmind.

Conclusión

Ahora ha aprendido a configurar restricciones basadas en GeoIP con Apache en sus servidores Ubuntu o Debian.

Gracias por tu tiempo. Si tiene algún problema o comentario, deje un comentario a continuación.


Linux
  1. Cómo habilitar mod_rewrite en Apache en CentOS

  2. Cómo configurar la autenticación básica en Apache usando .htaccess

  3. Cómo instalar phpMyAdmin en Linux usando el código fuente

  4. Cómo configurar el servidor de registro centralizado usando Rsyslog

  5. Cómo configurar el módulo CWP para WHMCS

Cómo instalar Nginx con el módulo GeoIP

Cómo configurar WebDAV usando Apache en CentOS 7

¿Cómo actualizar Apache usando EasyApache?

Cómo configurar un subdominio usando cPanel

Cómo configurar Nginx Cache en un servidor LAMP

¿Cómo bloquear una dirección IP usando .htaccess?