Como adicionar uma configuração vhost específica ao usar mod_vhost_alias?

1

Eu uso o mod_vhost_alias porque é realmente fácil adicionar novo vhost (eu só preciso criar um diretório).

/etc/apache2/mods-available/vhost_alias.conf

UseCanonicalName Off
VirtualDocumentRoot /var/www/%0/htdocs

/etc/apache2/sites-available/default

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

No entanto, preciso configurar um vhost personalizado para usar mod_proxy , então criei:

/etc/apache2/sites-available/mysite

<VirtualHost *>
    ServerName mysite.example.com
    ProxyPreserveHost On
    ProxyRequests Off
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyPass / http://192.168.1.12:7235/
    ProxyPassReverse / http://192.168.1.12:7235/
    <Location />
        Order allow,deny
        Allow from all
    </Location>
</VirtualHost>

Enquanto ele está funcionando corretamente para a configuração vhost_alias, quando tento solicitar my.example.com, recebi um 404 (porque o diretório hostname não existe) e meu site está corretamente habilitado.

Alguma idéia?

    
por John 14.03.2012 / 23:05

1 resposta

1

Mova sua diretiva VirtualDocumentRoot /var/www/%0/htdocs de /etc/apache2/mods-available/vhost_alias.conf e para o bloco <VirtualHost> em /etc/apache2/sites-available/default ; você não quer aplicá-lo a tudo.

Além disso, altere sua definição de vhost em /etc/apache2/sites-available/mysite de:

<VirtualHost *>

para:

<VirtualHost *:80>

.. e certifique-se de ter uma diretiva NameVirtualHost *:80 em algum lugar ( ports.conf ?), para que seu segundo vhost receba solicitações.

    
por 15.03.2012 / 02:54