Apache mod_proxy: redirecionamento baseado no cabeçalho http?

2

Eu queria saber se é possível direcionar o tráfego http para um servidor back-end específico, com base em um valor de cabeçalho de solicitação http. O valor do cabeçalho http 'referer' por exemplo.

Eu tenho 2 instâncias do servidor. Um para UAT (testes) e um para uso pré-produção. Eu gostaria de ter um proxy reverso do Apache na frente dessas duas instâncias do servidor. E quando uma solicitação http vier, com base no valor do cabeçalho de referência (uat ou pre-prod) do 'referer', eu gostaria que meu proxy reverso direcionasse a solicitação para a instância correta do servidor de backend.

Isso é possível?

Obrigado

    
por Dan 09.10.2016 / 10:35

2 respostas

2

Sim, é possível.

Faça uma regra de reescrita com base em uma verificação condicional do cabeçalho REFERER.

Documentação de RewriteCond

% {HTTP: header}, onde header pode ser qualquer nome de cabeçalho HTTP MIME, sempre pode ser usado para obter o valor de um cabeçalho enviado na solicitação HTTP. Exemplo:% {HTTP: Conexão-Proxy} é o valor do cabeçalho HTTP '' Conexão-Proxy '' '.

RewriteCond %{HTTP:Referer} =="xyz.com/abcd"
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
    
por 09.10.2016 / 11:45
0

Pode precisar de mais informações (por exemplo, exemplos mais precisos) para ser mais preciso, mas aqui é algo para se trabalhar.

RewriteCond %{HTTP:Referer} webapp-uat
RewriteRule (.*) http:/uat-backend/$1 [P,L]

RewriteCond %{HTTP:Referer} webapp-qa
RewriteRule (.*) http:/qa-backend/$1 [P,L]

Espero que isso lhe dê o suficiente para começar.

    
por 09.10.2016 / 21:57