O proxy reverso do Apache desativa a URL

4

Estou executando o Apache 2.2.15 como um proxy reverso na minha DMZ. Eu tenho um aplicativo na rede interna que disponibilizo na Internet para que os funcionários usem o proxy reverso.

Como parte deste aplicativo, a equipe pode ver mensagens com anexos em PDF. A equipe interna (que não precisa passar pelo proxy reverso) pode baixar esses PDFs sem problemas. O pessoal externo não pode.

Isso é o que eu vejo nos logs do Apache no servidor de aplicativos.

172.20.0.9 - - [04/Dec/2014:08:48:21 +1300] "GET /application/home/getAttachment/MTE7Y3lzdGljIGZpYnJvc2lzLnBkZg%3D%3D HTTP/1.1" 200 88090
10.0.0.2 - - [04/Dec/2014:08:48:27 +1300] "GET /application/home/getAttachment/MTE7Y3lzdGljIGZpYnJvc2lzLnBkZg== HTTP/1.0" 400 -

A primeira solicitação foi de um usuário interno que fez o download do arquivo PDF. O segundo vem do proxy reverso na DMZ. Observe como ele escapou do "% 3D% 3D" no final da URL para "==".

Há algumas coisas que estou fazendo no proxy reverso. Primeiro, se alguém tentar ir ao diretório raiz, uma regra de reconfiguração os enviará ao diretório do aplicativo.

  <IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule ^/$ /application/ [NE,R]
  </IfModule>

A outra parte relevante da configuração é a parte do proxy reverso.

  <IfModule mod_proxy.c>
   RequestHeader set Front-End-Https "On"
   SSLProxyEngine on
   SetEnv           force-proxy-request-1.0 1
   SetEnv           proxy-nokeepalive       1
   SetEnv proxy-initial-not-pooled 1

   # Reverse Proxy
   ProxyPass /application https://server.internal.lan/application
   ProxyPassReverse /application https://server.internal.lan/application
  </IfModule>

Alguém pode me dizer como parar de remover esses URLs?

Obrigado

David

    
por Random Guy on the Internet 03.12.2014 / 23:14

1 resposta

0

A bandeira [NE] na sua regra de reescrita está configurando para Sem Escape. Tente alterá-lo para [B] para escapar de referências anteriores.

    
por 17.12.2014 / 03:36