pode o apache “buscar e retornar” 302/301 redireciona quando proxy?

2

Então, estou usando as diretivas ProxyPass para redirecionar para uma API hospedada internamente:

ProxyPass /api/ http://internal.api.server/
ProxyPassReverse /api/ http://internal.api.server/

Qual tudo funciona bem. Infelizmente, o cliente tem um bug no qual ele não consegue lidar corretamente com os redirecionamentos 301/302. A API retorna redirecionamentos para determinadas ações, no estilo RESTful adequado, indicando, por exemplo, onde ir para ver a nova coisa que você acabou de criar com um POST.

De qualquer forma, existe alguma maneira de configurar o apache para buscar o conteúdo a partir de 302 locais de destino & devolvê-lo para o pedido original?

ou seja, no momento:

  • o navegador pede /api/will-redirect.json
  • proxys do apache que para a API interna
  • api responda com 302: /api/final-location.json
  • proxies reversos do apache que para o cliente
  • o cliente morre porque não consegue lidar com 302

O que eu gostaria:

  • o navegador pede /api/will-redirect.json
  • proxys do apache que para a API interna
  • api responda com 302: /api/final-location.json
  • o apache busca /api/final-location.json
  • o apache retorna o conteúdo de /api/final-location.json para o cliente (como 200)

Efetivamente, tornar os 302 invisíveis para o cliente. Possível?

    
por dalyons 06.06.2011 / 05:10

0 respostas