Peqi se posiciona entre los visitantes de su sitio web y su servidor de alojamiento y, debido a esta mediación, la IP que aparece en los registros de red de su servidor de alojamiento será la IP de Peqi, y no la del visitante real.
Esto puede ser problemático para aplicaciones que necesitan identificar correctamente la dirección IP del visitante, por ejemplo, para personalizar contenidos, gestionar sesiones de usuario o aplicar restricciones de acceso geográfico.
Para superar esta limitación y obtener la IP real del visitante, una práctica común es utilizar el encabezado HTTP X-Forwarded-For (XFF). Este encabezado es añadido por Peqi a las solicitudes que redirige al servidor de alojamiento, sin embargo, es necesario que su servidor web esté configurado para confiar en este encabezado en las solicitudes realizadas desde nuestro servidor. De esta manera, además del X-Forwarded-For, también enviamos X-Peqi-Real-Ip y X-Peqi-Forwarded-For que contiene la IP real del visitante, y usted puede configurarlo a nivel de aplicación.
Para integrar esta funcionalidad, necesitará configurar su aplicación para extraer la dirección IP del visitante a partir de los encabezados X-Forwarded-For, X-Peqi-Real-Ip o X-Peqi-Forwarded-For. Esta configuración varía dependiendo de la tecnología utilizada, pero generalmente implica modificar las configuraciones o el código del servidor para reconocer y utilizar la IP listada en este encabezado como la dirección IP del visitante.
NGINX
Es necesario que el módulo ngx_http_realip_module esté habilitado e instalado en el NGINX de su servidor. Una vez activado el módulo mencionado, siga los pasos a continuación:
# Defina en qué encabezado desea imprimir la IP real del cliente
real_ip_header X-Forwarded-For;
# Defina las IPs de Peqi como confiables para que el contexto anterior sea válido
set_real_ip_from 72.14.189.190/32;
set_real_ip_from 104.200.19.210/32;
Apache 2.2
Obtenga más información en la siguiente documentación:
mod_rpaf
Apache 2.4
Apache 2.4 y versiones posteriores generalmente vienen con el módulo mod_remoteip ya instalado, solo necesita activarlo. Sin embargo, si mod_remoteip no fue incluido en su instalación de Apache, puede descargarlo directamente aquí.
Después de instalar el módulo, será necesario agregar las siguientes líneas a su archivo de configuración. Normalmente, este archivo de configuración se encuentra en /etc/apache/conf-available/remoteip.conf.
Sin embargo, si está utilizando cPanel/WHM, la ruta del archivo de configuración será /etc/apache2/conf.modules.d/370_mod_remoteip.conf.
RemoteIPHeader X-FORWARDED-FOR
RemoteIPTrustedProxy 72.14.189.190/32
RemoteIPTrustedProxy 104.200.19.210/32
WordPress
Acceda al archivo wp-config.php y agregue las siguientes líneas debajo de la apertura de <?php:
if ( isset( $_SERVER['HTTP_X_PEQI_REAL_IP'] ) ) {
$http_x_headers = explode( ',', $_SERVER['HTTP_X_PEQI_REAL_IP'] );
$_SERVER['REMOTE_ADDR'] = $http_x_headers[0];
}
Aplicaciones PHP
if ( isset( $_SERVER['HTTP_X_PEQI_REAL_IP'] ) ) {
$http_x_headers = explode( ',', $_SERVER['HTTP_X_PEQI_REAL_IP'] );
$_SERVER['REMOTE_ADDR'] = $http_x_headers[0];
}
WordPress
Acceda al archivo wp-config.php y agregue las siguientes líneas debajo de la apertura de <?php:
if ( isset( $_SERVER['HTTP_X_PEQI_REAL_IP'] ) ) {
$http_x_headers = explode( ',', $_SERVER['HTTP_X_PEQI_REAL_IP'] );
$_SERVER['REMOTE_ADDR'] = $http_x_headers[0];
}
Magento 1.x
Coloque el siguiente código en su archivo /app/etc/local.xml dentro del alcance <global></global>:
<remote_addr_headers>
<header1>HTTP_X_PEQI_REAL_IP</header1>
</remote_addr_headers>
Magento 2.x
Recomendamos utilizar métodos a nivel de servidor: Apache, NGINX, LiteSpeed.
Si esto no es posible, el siguiente artículo (úselo bajo su propio riesgo) puede ser útil: https://dev98.de/2017/01/02/how-to-add-alternative-http-headers-to-magento-2/
Drupal
Acceda al archivo settings.php y agregue las siguientes líneas:
if ( isset( $_SERVER['HTTP_X_PEQI_REAL_IP'] ) ) {
$http_x_headers = explode( ',', $_SERVER['HTTP_X_PEQI_REAL_IP'] );
$_SERVER['REMOTE_ADDR'] = $http_x_headers[0];
}
CodeIgniter
Acceda al archivo index.php y agregue las siguientes líneas:
if ( isset( $_SERVER['HTTP_X_PEQI_REAL_IP'] ) ) {
$http_x_headers = explode( ',', $_SERVER['HTTP_X_PEQI_REAL_IP'] );
$_SERVER['REMOTE_ADDR'] = $http_x_headers[0];
}