O proxy reverso do Apache encaminha os diferentes intervalos de IP de origem para diferentes URLs de destino

1

Provavelmente existe uma pergunta (ou guia em algum lugar na web) sobre isso, mas não consegui encontrá-la.

Queremos migrar lentamente nossa base de usuários de uma implementação do servidor back-end para uma nova implementação em diferentes servidores.

Já existe um proxy reverso Apache2 na frente do servidor back-end.

Portanto, gostaríamos de fazer proxy de alguns intervalos / sub-redes de IP de origem para o novo servidor, deixando todos os outros redirecionando para o servidor original. Em seguida, adicione aos intervalos de IP que o proxy para o novo servidor até que todos façam. Em seguida, remova o servidor antigo.

Alguém pode me dar algumas dicas de como isso é feito no Apache?

    
por The Archetypal Paul 26.11.2013 / 10:54

2 respostas

1

Você poderia fazer isso usando mod_rewrite para proxy. Você terá que configurar uma condição de reescrita com base no IP de origem e uma regra de reconfiguração com o sinalizador [P]. Algo como isso deve funcionar:

RewriteCond %{REMOTE_ADDR} ^10\.2\.
RewriteRule ^/(.*) http://old-app/$1 [P]
ProxyPassReverse / http://old-app/ 

RewriteCond %{REMOTE_ADDR} ^10\.3\.
RewriteRule ^/(.*) http://new-app/$1 [P]
ProxyPassReverse / http://new-app/ 

Verifique o link para obter mais informações.

    
por 26.11.2013 / 11:51
1

Para mim, uma abordagem seria algo assim:

# /etc/httpd/conf/httpd.conf
<snip>
<If "-R '10.1.0.0/16'">
  ProxyPassReverse /app /http://new-app/app
</If>
<ElseIf "-R '192.168.1.0/24'">
  ProxyPassReverse /app /http://new-app/app
</ElseIf>
<Else>
  ProxyPassReverse /app /http://old-app/app
</Else>

Do manual do apache

    
por 26.11.2013 / 11:31