Ir para o conteúdo

Provedor de Segurança - Reescrever URL

Os clientes e servidores web do Vinyl devem concordar com o URL do aplicativo Vinyl. Isto é necessário para lidar com cookies e redirecionamentos do lado do cliente, como aqueles que ocorrem durante o processo de autenticação. Os proxies reversos podem modificar o URL da solicitação em andamento. O provedor Rewrite URL pode ser usado para restaurar uma URL que foi reescrita por um proxy reverso.

O provedor Rewrite URL corresponde aos seguintes componentes de URL de solicitação:

  • Esquema - HTTP ou HTTPS
  • Host - exemplo.com
  • Porta - 80, 443

URLs correspondentes são reescritos. Observe que apenas o esquema, o nome do hospedar e os componentes da porta podem ser reescritos: o caminho não pode ser reescrito. Como os caminhos diferenciam maiúsculas de minúsculas, eles não podem ser restaurados de maneira confiável.

Configuração

O provedor de URL de reescrita deve ser registrado manualmente. O provedor Rewrite URL deve ser registrado antes de qualquer outro provedor.

Parâmetros

Parâmetro Valor padrão Descrição
MatchUrl A especificação de URL na qual a solicitação será testada. Apenas o esquema, hospedar e porta são considerados.
ReescreverUrl A URL na qual a solicitação será reescrita. Apenas o esquema, hospedar e porta são modificados.
DetectarReverseProxy Falso
  • Quando ativado, o Vinyl inspecionará a solicitação para determinar se um proxy reverso pode ter modificado o URL. Atualmente, o Vinyl procura a presença do cabeçalho X-Forwarded-For.
  • Defina esta propriedade como True se os usuários puderem acessar o aplicativo Vinyl usando o MatchUrl sem passar pelo proxy reverso. Isso geralmente sugere uma configuração de DNS dividido.

Solução de Problemas

Para diagnosticar e resolver problemas o motivo pelo qual um URL pode ou não ser reescrito, defina o nível de registro do Vinyl como Rastreamento. Faça uma solicitação HTTP ao Vinyl (geralmente uma que passa pelo proxy reverso). Em seguida, revise os registros. Você deverá ver as entradas de log no seguinte formato:

HTTP request URL components: scheme=http, host=example.com, port=80
Rewritten HTTP request URL components: scheme=https, host=example.com, port=443