Proxies Reversos¶
Visão Geral¶
Em alguns ambientes, o Vinyl pode ser implantado atrás de um proxy reverso. O proxy reverso pode mascarar detalhes sobre a conexão do cliente, incluindo o endereço IP de origem e se a conexão é segura ou não. Normalmente, os servidores proxy preservam as informações pertinentes em cabeçalhos HTTP personalizados. O padrão de fato para isso é X-Forwarded-For e cabeçalhos relacionados.
Quando configurado adequadamente, o Vinyl pode extrair detalhes sobre a conexão original de cabeçalhos HTTP personalizados. Isso requer a adição manual das configurações do aplicativo ao arquivo Web.config no diretório raiz do Vinyl. Como cada servidor proxy é diferente e os cabeçalhos HTTP personalizados podem ser forjados, essas configurações não são definidas por padrão.
Configurações¶
Nome | Descrição | Exemplo |
---|---|---|
ForwardedClientIpHeader | Endereço IP do cliente. | X-Encaminhado-Para |
ForwardedSchemeHeader | Esquema de conexão do cliente (por exemplo, HTTP ou HTTPS). | X-Forwarded-Proto |
ForwardedHostHeader | hospedar de conexão do cliente e número de porta opcional | Host encaminhado X |
ForwardedPortHeader | Número da porta de ligação do cliente (por exemplo, 80 ou 443) | Porta X-Forwarded |
Exemplo de Configuração¶
{
"ReverseProxy": {
"ForwardedClientIpHeader": "X-Forwarded-For",
"ForwardedSchemeHeader": "X-Forwarded-Proto",
"ForwardedHostHeader": "X-Forwarded-Host",
"ForwardedPortHeader": "X-Forwarded-Port"
}
}
Amazon Web Services¶
Em um ambiente do Amazon Elastic Beanstalk, os Elastic Load Balancers (ELBs) funcionam como proxies reversos, encerrando conexões HTTPS. Os ELBs apoiam o X-Forwarded-*
cabeçalhos. Quando implantado em um ambiente do Elastic Beanstalk, o Vinyl será configurado automaticamente usando as propriedades do ambiente do Elastic Beanstalk.