Como redirecionar para outro servidor? (apache e nginx)

1

Eu tenho um servidor Apache em execução para dois sites na porta 80. Digamos que o domínio seja example.com e eu tenha outro domínio example2.com . Quando um usuário visita example.com , eu quero que ele sirva esses arquivos (então um host virtual), mas quando alguém tenta acessar o domínio example2.com (que está no mesmo endereço IP), eu quero redirecionar para outro IP endereço na porta 90 sem o visitante saber que ele está em uma porta diferente.

Como posso conseguir isso?

<VirtualHost example.com:80>   
 DocumentRoot {rootdir}  
 ServerName example.com  
 ServerAlias example.com 
</VirtualHost>   
<VirtualHost *:80>   
  NoProxy .example.com  
  ProxyPreserveHost On  
  ProxyRequests Off  
  ServerName *  
  ProxyPass / http://server2:90  
  ProxyPassReverse / http://server2:90  
</VirtualHost>  

Isso não funcionará e ele tenta obter example.com com o proxy também, alguém sabe por quê?

    
por Christiaan de Die 15.06.2013 / 16:32

1 resposta

3

Tem certeza de que deseja redirecionar seus usuários? Pelo que entendi, você quer que o servidor example2.com faça proxy em algum outro lugar. Você pode configurar o Apache como um proxy com mod_proxy . E você também pode definir esse proxy para um VirtualHost específico, consulte os Exemplos do VirtualHost do Apache.

Por exemplo, algo assim deve funcionar:

NameVirtualHost *:80
<VirtualHost *:80>
    ServerName example.com
<VirtualHost>
<VirtualHost *:80>
    ServerName example2.com
    ProxyPass / http://server2:90/
    ProxyPassReverse / http://server2:90/
    ProxyPreserveHost On  
    ProxyRequests Off
<VirtualHost>

verifique também se o mod_proxy está carregado

LoadModule proxy_module modules/mod_proxy.so
    
por 15.06.2013 / 17:51