Proxy reverso para colocar o valor do cabeçalho como parâmetro para url

4

Eu preciso configurar o proxy reverso que irá colocar o valor do cabeçalho da solicitação original como um parâmetro para o URL de destino. A razão para isso é especialmente específica para o aplicativo e, infelizmente, não posso alterar esse aplicativo.  Por exemplo eu preciso do folowing https://a.com com http cabeçalho myparam = abcd eu preciso ser proxied para http://b.com/?val=abcd

É possível configurar o IIS ou o Apache para executar tal tarefa? Se sim, você pode explicar como?

kulatamicuda
fonte
Vejo que você não aceitou minha resposta e não aceitou a outra resposta. Você ainda está procurando respostas / mais detalhes? Se não, você deve aceitar uma das respostas.
user49740
1
@ user49740 Não, apenas esqueci de marcar :)
kulatamicuda

Respostas:

2

Testado no Apache 2.4:

# (In a VirtualHost for a.com)
RewriteEngine on
RewriteRule ^(.*)$ http://b.com$1?val=%{HTTP:myparam} [QSA,P]

Exemplo reescreve (se o cabeçalho myparam tem valor myvalue ):

  • a.com torna-se http://b.com?val=myvalue
  • a.com/path/here torna-se http://b.com/path/here?val=myvalue
  • a.com/path?a=b&c=d torna-se http://b.com/path?a=b&c=d&val=myvalue

Se o myparam o cabeçalho não existe a.com/x irá redirecionar para http://b.com/x?val=. Se você quiser redirecionar para http://b.com/x, você pode usar a seguinte versão mais longa dos itens acima:

RewriteEngine on
RewriteCond %{HTTP:myparam} .
RewriteRule ^(.*)$ http://example.com$1?val=%{HTTP:myparam} [QSA,L,P]
RewriteRule ^(.*)$ http://example.com$1 [P]

Links Relacionados:

user49740
fonte
1

Para o IIS você pode usar o Extensão de regravação de URL :

O IIS URL Rewrite 2.0 permite aos administradores da Web criar poderosos   regras para implementar URLs mais fáceis de serem lembradas pelos usuários   mais fácil para os motores de busca encontrarem. Usando modelos de regra, reescreva   mapas, provedores .NET e outras funcionalidades integradas ao IIS   Gerente, os administradores da Web podem facilmente configurar regras para definir URL   comportamento de reescrita baseado em cabeçalhos HTTP, resposta HTTP ou solicitação   cabeçalhos, variáveis ​​de servidor IIS e até mesmo regras programáticas complexas. Em   Além disso, os administradores da Web podem executar redirecionamentos, enviar   respostas, ou parar solicitações HTTP com base na lógica expressa no   reescrever regras.

Funciona com: IIS 7, IIS 7.5, IIS 8

Um passo a passo pode ser encontrado em: Criando regras de reescrita para o módulo de regravação de URL .

harrymc
fonte