Saltar al contenido

Proxies Inversos

Descripción General

En algunos ambientes, Vinyl puede desplegarse detrás de un proxy inverso. El proxy inverso puede enmascarar detalles sobre la conexión del cliente, incluida la dirección IP de origen y si la conexión es segura o no. Por lo general, los servidores proxy conservan la información pertinente en encabezados HTTP personalizados. El estándar de facto para esto es X-Forwarded-For y encabezados relacionados.

Cuando se configura adecuadamente, Vinyl puede extraer detalles sobre la conexión original de encabezados HTTP personalizados. Esto requiere agregar manualmente la configuración de la aplicación al archivo Web.config en el directorio raíz de Vinyl. Dado que cada servidor proxy es diferente y se pueden falsificar encabezados HTTP personalizados, estas configuraciones no están configuradas de forma predeterminada.

Ajustes

Nombre Descripción Ejemplo
EncabezadoIpClienteReenviado Dirección IP del cliente. X-reenviado-para
Encabezado de esquema reenviado Esquema de conexión del cliente (por ejemplo, HTTP o HTTPS). Proto-reenviado X
Encabezado de host reenviado alojar de conexión del cliente y número de puerto opcional X-Host reenviado
Encabezado de puerto reenviado Número de puerto de conexión del cliente (por ejemplo, 80 o 443) Puerto reenviado X

Configuración de Ejemplo

{
  "ReverseProxy": {
    "ForwardedClientIpHeader": "X-Forwarded-For",
    "ForwardedSchemeHeader": "X-Forwarded-Proto",
    "ForwardedHostHeader": "X-Forwarded-Host",
    "ForwardedPortHeader": "X-Forwarded-Port"
  }
}

Servicios Web de Amazon

En un ambiente de Amazon Elastic Beanstalk, los Elastic Load Balancers (ELB) funcionan como proxies inversos y finalizan las conexiones HTTPS. Los ELB apoyan la X-Forwarded-* encabezados. Cuando se implementa dentro de un ambiente de Elastic Beanstalk, Vinyl se configurará automáticamente utilizando las propiedades del ambiente de Elastic Beanstalk.