apache vhost config para que _default_ vá para outro IP

2

oi eu tenho 3 servidores apache, mas um ip de entrada com uma porta 80 para ouvir. todo o tráfego da porta 80 vai a 192.168.1.10. Mas eu quero vhost para enviar certaindomains como www.mydomain.co.uk para as pastas locais necessárias, e certos domínios para offserver para server2 (192.168..1.11) e isso funciona para os domínios wiki.mydomain.co.uk funciona perfeitamente, mas o que eu também quero fazer é envie todo o tráfego desconhecido "sobressalente" para 192.168.1.12 e este ISN'T que trabalha como eu esperaria.

Tudo o que quero fazer é enviar tráfego que não esteja listado para o servidor 192.168.1.12. Quando eu faço uma verificação de porta na máquina 192.168.1.12 nada está chegando.

NameVirtualHost *:80

Alias /errors/ /var/www/html/mydomain/errors/

<VirtualHost *:80>
  ServerName www.mydomain.co.uk
  DocumentRoot /var/www/html/mydomain/www
  ErrorDocument 404 /errors/404error.php
</VirtualHost>

<VirtualHost *:80>
  ServerName admin.mydomain.co.uk
  DocumentRoot /var/www/html/mydomain/admin
</VirtualHost>

<VirtualHost *:80>
  ServerName wiki.mydomain.co.uk
  ServerAdmin root@localhost
  ProxyRequests Off
  ProxyPreserveHost On
  ProxyPass / http://192.168.1.11/
  ProxyPassReverse / http://192.168.1.11/
  <Proxy *>
    Order allow,deny
    Allow from all
  </Proxy>
  ErrorLog /var/log/httpd/wiki.mydomain.co.uk.log
  CustomLog /var/log/httpd/wiki.mydomain.co.uk.err.log combined
</VirtualHost>

<VirtualHost _default_:80>
   ProxyPreserveHost On
   ProxyPass / http://192.168.1.12/
   ProxyPassReverse / http://192.168.1.12/
</VirtualHost>

apachectl -S

VirtualHost

 configuration:
wildcard NameVirtualHosts and _default_ servers:
_default_:443          www.mydomain.co.uk (/etc/httpd/conf.d/ssl.conf:74)
*:80                   is a NameVirtualHost
         default server www.mydomain.co.uk (/etc/httpd/conf.d/vhost.conf:5)
         port 80 namevhost www.mydomain.co.uk (/etc/httpd/conf.d/vhost.conf:5)
         port 80 namevhost www.mydomain.co.uk (/etc/httpd/conf.d/vhost.conf:12)
         port 80 namevhost admin.mydomain.co.uk (/etc/httpd/conf.d/vhost.conf:18)
         port 80 namevhost wiki.mydomain.co.uk (/etc/httpd/conf.d/vhost.conf:23)
    
por user26676 01.01.2013 / 22:25

1 resposta

1

Coloque o vhost padrão primeiro no arquivo de configuração.

O primeiro vhost será usado se nenhuma correspondência contra o host: enviada for encontrada. No seu caso, isso significa que isso deve ser o mais importante:

<VirtualHost *:80>
   ProxyPreserveHost On
   ProxyPass / http://192.168.1.12/
   ProxyPassReverse / http://192.168.1.12/
</VirtualHost>

(larguei o "_default_" porque é redundante.)

    
por 01.01.2013 / 22:28