2010-03-11 20 views
5

Cuando visito mi aplicación Rails 2.2 en mi servidor remoto, recibo el siguiente valor como REMOTE_ADDR.¿Por qué request.env ['REMOTE_ADDR'] devuelve dos direcciones IP?

request.env [ 'REMOTE_ADDR']: "75.184.124.93, 10.194.95.79"

lo que me ha dejado perplejos es por eso que hay dos períodos de investigación. Una comprobación rápida de mi IP pública actualmente arrendada confirma que mi IP es 75.184.124.93.

¿De dónde viene 10.194.95.79?

¿Hay algo acerca de cómo se recopilan e informan las direcciones remotas en las especificaciones de los encabezados HTTP que me faltan? ¿Es esto esperado, comportamiento normal?

+0

10.194.95.79 es una dirección IP de red privada. –

+0

¿Por qué se adjunta a 75.184.124.93 en request.env ['REMOTE_ADDR']? –

+0

¿Podría ser porque el encabezado de solicitud HTTP está modificado por el proxy inverso que se encuentra frente a mi nivel de aplicación? –

Respuesta

5

Definitivamente se debe a un proxy inverso.

Los proxies inversos (utilizo BigIPs y el modo mod_proxy Apache a menudo) suelen agregar todas las IP intermedias a la lista para que pueda elegir las correctas en su código.

Por ejemplo, es posible que desee encontrar el público para iniciar sesión en su aplicación de webstats, por lo que está justo en REMOTE_ADDR. Pero también tiene la (s) IP interna (s) para saber de qué equilibrador de carga proviene, qué servidor interno tiene activado algún tipo de seguimiento de red interno, etc.

Cuestiones relacionadas