proxy reverso no apache para um único host virtual

proxy reverso no apache para um único host virtual

Preâmbulo:

Configurei um servidor acessível publicamente com vários hosts virtuais. As solicitações para um host virtual precisam ser enviadas para um servidor backend. Todas as outras solicitações precisam ser atendidas localmente.

Problema:

A solicitação para TODOS os hosts virtuais é repassada para o endereço IP especificado na diretiva ProxyPass assim que o site que precisa ser proxy estiver habilitado. Quando tento visitar qualquer um dos outros hosts virtuais, recebo a página do site com proxy. Ao desativar o site com proxy, todos os outros hosts virtuais retomam a operação normal e são servidos localmente.

Configuração:

A configuração que tenho no servidor acessível publicamente para os hosts virtuais: (outros hosts virtuais são cópias da mesma configuração)

<VirtualHost *:80>
  ServerName www.mainsite.com
  ServerAlias mainsite.com
  ServerAdmin [email protected]

  DirectoryIndex index.php
  DocumentRoot /var/www/mainsite.com

  <Directory />
    AllowOverride None
  </Directory>

  LogLevel info
  ErrorLog /var/log/mainsite.com_err.log
  CustomLog /var/log/mainsite.com_access.log combined
</VirtualHost>

A configuração que tenho no servidor acessível publicamente para o host virtual ser proxy:

<VirtualHost *:80>

  ServerName calendar.othersite.com
  ServerAdmin [email protected]

  ProxyRequests Off 

  <Location />
    ProxyPass http://192.168.0.1/
    ProxyPassReverse http://192.168.0.1/
  </Location>

  <Proxy>
   Order Allow,Deny
   Allow from all
  </Proxy>


  TransferLog /var/log/othersite.com_access.log
  ErrorLog /var/log/othersite.com_err.log
  CustomLog /var/log/othersite.com.log combined
  LogLevel debug
</VirtualHost>

Responder1

Tentar

sudo ln -s /etc/apache2/mods-available/proxy.load /etc/apache2/mods-enabled
sudo ln -s /etc/apache2/mods-available/proxy_http.load /etc/apache2/mods-enabled
sudo /etc/init.d/apache2 restart

informação relacionada