Configurar um proxy HTTP para inserir um cabeçalho
-
03-07-2019 - |
Pergunta
Eu preciso de testar alguma interação HTTP com um cliente Eu prefiro não modificar. O que eu preciso de testar é o comportamento do servidor quando as solicitações do cliente incluem um determinado cabeçalho, estático.
Eu estou pensando a maneira mais fácil de executar este teste é configurar um proxy HTTP que insere o cabeçalho em cada solicitação. Qual seria a maneira mais simples de configurar isso?
Solução
Eu faço algo assim no meu ambiente de desenvolvimento, configurando Apache na porta 80 como um proxy para o meu servidor de aplicativos na porta 8080, com a seguinte configuração do Apache:
NameVirtualHost *
<VirtualHost *>
<Proxy http://127.0.0.1:8080/*>
Allow from all
</Proxy>
<LocationMatch "/myapp">
ProxyPass http://127.0.0.1:8080/myapp
ProxyPassReverse http://127.0.0.1:8080/myapp
Header add myheader "myvalue"
RequestHeader set myheader "myvalue"
</LocationMatch>
</VirtualHost>
LocationMatch e RequestHeader documentação.
Isso adiciona o cabeçalho myheader:. Myvalue aos pedidos que vão para o servidor de aplicativos
Outras dicas
Você também pode instalar Fiddler ( http://www.fiddler2.com/fiddler2/ ) que é muito fácil de instalar (mais fácil do Apache por exemplo).
Depois de lançar-lo, irá registar-se como proxy do sistema. Em seguida, abra o menu "Regras", e selecione "Regras Personalizar ..." para abrir um arquivo JScript, que permitem que você personalize pedidos.
Para adicionar um cabeçalho personalizado, basta adicionar uma linha na função OnBeforeRequest
:
oSession.oRequest.headers.Add("MyHeader", "MyValue");
Eu tentaria tinyproxy . na verdade, o vey melhor seria embedd uma linguagem de script lá ... soa como um trabalho perfeito para Lua , especialmente depois de ver o quão bem ele trabalhou para mysqlproxy
Use http://www.proxomitron.info e configurar o cabeçalho que você quer, etc.
Ao invés de usar um proxy, eu estou usando o plugin do Firefox "modificar os cabeçalhos" para inserir cabeçalhos (no meu caso, para fingir um login usando o Single Sign On para que eu possa testar como as pessoas diferentes).
Se você tem rubi em seu sistema, que tal uma pequena Proxy Rubi usando Sinatra (certifique-se de instalar o Sinatra Gem). Este deve ser mais fácil do que a criação de apache. O código pode ser encontrada href="http://thecoderslife.blogspot.com/2015/07/a-http-proxy-using-sinatra.html" aqui.