1000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!
Redirigir el tráfico web a un puerto específico
Esta guía trata sobre la redirección del tráfico web a un puerto específico, incluso en caso de uso de una IP dedicada y de una aplicación web específica (como Node
o Varnish
, por ejemplo).
Requisitos previos
- Instalar
HAProxy
en el Servidor Cloud.
Redirigir el tráfico web a un puerto específico
Por defecto, en el Servidor Cloud, el tráfico web se envía a Apache
. Para enviar las solicitudes a un script Node
o a otro servicio (siempre y cuando "escuche" en un puerto entre 4000 y 4009), es necesario pasar por HAProxy
.
Esto se aplica especialmente a los servidores Express
, Socket.IO
, Meteor.js
, Nuxt.js
, Django
, Flask
, Ruby on Rails
, incluso eventualmente Java (J2E)
, etc.
Para esto, debe asegurarse de que el servicio esté escuchando en un puerto entre 4000 y 4009 (especialmente con server.listen(4000)
para Express
o un servidor HTTP Node
básico, pero según el tipo de proyecto, por otros medios, un archivo de configuración, en el código o cualquier otro) y en todas las interfaces (0.0.0.0).
También será necesario configurar HAProxy
como en el ejemplo a continuación:
- Haga clic aquí para acceder a la gestión de su producto en el Manager Infomaniak (¿Necesita ayuda?).
- Haga clic directamente en el nombre asignado al producto en cuestión.
- Haga clic en Fast installer en el menú lateral izquierdo.
- Haga clic en el menú de acción ⋮ situado a la derecha de
HAProxy
. - Haga clic en Configurar:
- Seleccione la información deseada y guarde:
Recuperación de la IP de origen de una solicitud
Cuando rediriges el tráfico web hacia tu aplicación web, el procesamiento de las solicitudes cambia y la solicitud se recibe primero por un reverse proxy
(local en el servidor) que luego transfiere la solicitud al puerto elegido. Así, debido a la transferencia de la solicitud, los métodos que normalmente se utilizan para obtener la IP del visitante devolverán la IP del reverse proxy
en lugar de la del visitante.
Por lo tanto, para obtener la IP de origen real del visitante en estos casos, es necesario consultar un encabezado HTTP llamado X-Forwarded-For
, que contendrá las IPs de origen acumuladas en cada redirección. Este encabezado contendrá, por lo tanto, al final la dirección IP original del cliente, permitiendo identificar al visitante real.
Atención: Es importante tener en cuenta que los encabezados HTTP pueden ser manipulados, lo que presenta riesgos de seguridad. Para minimizar estos riesgos, se recomienda verificar que la solicitud provenga de un servidor confiable antes de confiar en el contenido del encabezado X-Forwarded-For
. Esta verificación puede implicar asegurarse de que la solicitud haya sido transmitida por un servidor intermediario de confianza, identificado por una lista preestablecida de direcciones IP. En el caso de que el sitio utilice una IP dedicada, los servidores de confianza son:
- 83.166.133.15
- 83.166.133.17
- 83.166.133.16
- 84.16.92.5
- 84.16.92.43
- 10.2.32.255
- 10.2.34.164