Temos um servidor Apache que funciona como um proxy para aplicativos executados em portas diferentes. Por exemplo:
domain.com/app1/service1 > localhost:101
domain.com/app1/service2 > localhost:102
domain.com/app2/service1 > localhost:201
As regras para determinar a porta do aplicativo são bastante complexas, então eu uso um script para fazer isso usando mod_rewrite:
RewriteEngine On
RewriteMap mapper prg:/foler/rewriteUrl.sh
RewriteRule ^(.*)$ ${mapper:%{REQUEST_URI}} [P]
O problema que estou tendo é que, olhando para os logs, há muitos pedidos de bots recebendo conteúdo de outros sites. Eu testei se eu poderia proxy de conteúdo de outros servidores e eu poderia:
telnet domain.com 80
GET http://www.yahoo.com/ HTTP/1.1
Host: www.yahoo.com
Aqui recebo conteúdo do Yahoo, o que significa que qualquer pessoa pode se conectar ao meu servidor e começar a fazer solicitações para outros servidores.
Eu vi que o Apache recomenda proteger seu proxy conforme indicado aqui:
link
Mas o problema é que eu não sei o que os IPs usarão o meu servidor em avançado, então minha pergunta é como resolver esse problema e, ao mesmo tempo, qualquer um pode solicitar meus aplicativos?
Algumas informações adicionais:
- Todos os meus aplicativos estão na mesma máquina do meu servidor Apache
- Se eu precisar mover meus aplicativos para servidores diferentes, eles ainda estarão no meu Intratet
- Eu tenho mod_proxy, mod_proxy_http e mod_rewrite ativado
Obrigado