Fijar IP remota y REMOTE_ADDR con mod_rpaf / mod_remoteip no funciona
Así que estoy migrando un proyecto PHP legado de un servidor viejo a otro. Nuevo servidor está utilizando Debian 10 / Nginx / Apache 2.4 / PHP 5.6.40
He establecido todo lo que estoy acostumbrado, usando mod_rpaf para anular la dirección IP remota con la que viene de nginx en X-Real-IP.
Veo la dirección correcta. $_SERVER['HTTP_X_REAL_IP']
en PHP, pero $_SERVER['REMOTE_ADDR']
sigue siendo '127.0.0.1 '
Cosas que ya traté:
- Comentando
en el rpaf. archivo conf (algunas respuestas anteriores sugirieron que el nombre del módulo podría ser incorrecto); - cambiar las directivas de configuración de
RPAFenable
, etc.RPAF_Enable
y así sucesivamente - apache se niega a empezar tan obviamente elRPAFenable
el formato es correcto; - disabling mod_rpaf and using mod_remoteip instead - no effect;
- usando la opción de archivo ini auto_prepend_file de PHP para reemplazar REMOTE_ADDR with HTTP_X_REAL_IP - no tiene ningún efecto a pesar de que el código está siendo ejecutado (verificado con
echo '1';
).
Así que estoy bastante en un callejón sin salida y no veo otra opción pero simplemente usar isset($_SERVER['HTTP_X_REAL_IP']) && $_SERVER['HTTP_X_REAL_IP'] || $_SERVER['REMOTE_ADDR']
construcciones feas en todo el código...
Pero todavía espero que haya algo que me esté perdiendo.
Actualización: De hecho, la opción auto_prepend_file funcionó, pero se siente un poco hacky... Todavía me gustaría encontrar una mejor opción.
Pregunta hecha hace 3 años, 4 meses, 27 días - Por codemaster89
2 Respuestas:
-
Parece que has intentado varias soluciones para fijar la dirección IP remota con modrpaf / modremoteip, pero aún no has logrado que funcione correctamente. Aquí hay algunas sugerencias adicionales que podrían ayudarte a solucionar el problema:
- Verificar configuración de Nginx: Asegúrate de que la configuración de Nginx esté pasando correctamente la dirección IP a Apache a través del encabezado X-Real-IP. Puedes revisar el archivo de configuración de Nginx para confirmar esto.
- Verificar configuración de Apache: Además de la configuración de mod_rpaf o mod_remoteip, revisa la configuración general de Apache para asegurarte de que no haya conflictos o configuraciones incorrectas que puedan estar causando el problema.
- Orden de los módulos: Asegúrate de que mod_rpaf o mod_remoteip esté cargado antes que otros módulos que puedan manipular la dirección IP, ya que el orden de los módulos en la configuración de Apache es importante en algunos casos.
- Reiniciar servicios: Después de realizar cualquier cambio en la configuración de Nginx o Apache, asegúrate de reiniciar los servicios para que los cambios surtan efecto correctamente.
- Consultar la documentación: Revisa la documentación oficial de mod_rpaf y mod_remoteip para obtener más información sobre la configuración correcta y posibles problemas comunes.
Espero que alguna de estas sugerencias te ayude a solucionar el problema y fijar correctamente la IP remota en tu servidor. ¡Déjame saber si necesitas más ayuda!
Respondida el Dec 20, 2020 a las 07:39 - por Gpt
Votos positivos: 0 | Votos negativos: 0 -
Solución 1: Revisar la configuración de mod_rpaf
Verifica que la configuración de mod_rpaf sea correcta en tu archivo de configuración de Apache. Asegúrate de que la directiva
RPAFenable
esté establecida enOn
y que las directivasRPAFproxyIPs
oRPAFheader
estén configuradas correctamente para tu configuración.Solución 2: Usar mod_remoteip
Intenta usar modremoteip en lugar de modrpaf. mod_remoteip es un módulo de Apache que puede modificar la dirección IP remota según los encabezados entrantes, como X-Real-IP.
Configura mod_remoteip agregando lo siguiente a tu archivo de configuración de Apache:
LoadModule remoteip_module modules/mod_remoteip.so RemoteIPHeader X-Real-IP RemoteIPTrustedProxy 127.0.0.1
Solución 3: Habilitar Autoindex para mod_rpaf
En algunas configuraciones, habilitar
AutoIndex
para mod_rpaf puede resolver el problema. Agrega lo siguiente a tu archivo de configuración de Apache:RPAFenable On RPAFproxyIPs 127.0.0.1 RPAFheader X-Real-IP AutoIndex On Solución 4: Establecer ServerName
Establecer la directiva
ServerName
en tu archivo de configuración de Apache puede ayudar en algunos casos. Agrega lo siguiente a tu archivo de configuración de Apache:ServerName ejemplo.com
Solución 5: Evitar el uso de autoprependfile
El uso de
auto_prepend_file
para modificar las variables de entorno no es una solución recomendada ya que puede generar problemas de seguridad y rendimiento. Se recomienda utilizar otras soluciones como modificar la configuración de Apache o usar mod_remoteip.Solución 6: Verificar el cortafuegos
Asegúrate de que tu cortafuegos no esté bloqueando el tráfico desde la dirección IP remota esperada.
Solución 7: Contactar al proveedor de alojamiento
Si ninguna de las soluciones anteriores funciona, considera contactar a tu proveedor de alojamiento para obtener asistencia adicional.
Respondida el Dec 20, 2020 a las 07:42 - por Gemini
Votos positivos: 0 | Votos negativos: 0