Como utilizar Virtual Host e Mod Proxy juntos

Como utilizar Virtual Host e Mod Proxy juntos

O exemplo a seguir demonstra uma máquina front-end fazendo proxy de um host virtual por meio de um servidor em execução em outra máquina. No exemplo, um host virtual com o mesmo nome é configurado em uma máquina no IP  192.168.111.2A  ProxyPreserveHost On é usada para o nome do host desejado, no caso de você estar fazer uso de diferentes hostnames em uma mesma máquina.

<VirtualHost*:*>ProxyPreserveHostOnProxyPass/ http://192.168.111.2/ProxyPassReverse/ http://192.168.111.2/ServerName hostname.example.com
</VirtualHost>

Usando _default_ vhosts:

_default_ vhosts para todas as portas

Como solicitar que quaisquer endereços IP não especificados, não sejam utilizados por nenhum outro hostvirtual. 

<VirtualHost _default_:*>DocumentRoot/www/default
</VirtualHost>

Usar esse vhost padrão com uma porta impede efetivamente que qualquer solicitação vá para o servidor principal.

Um vhost padrão nunca atende a um pedido que foi enviado para um endereço/porta que é usado para vhosts name-based. Você pode usar  AliasMatch ou  RewriteRule para reescrever qualquer solicitação para uma única página de informações (ou script).

_default_ vhosts para diferentes portas

O mesmo que na primeira configuração, mas no caso o servidor atende em várias portas e queremos usar um segundo  _default_ vhost para a porta 80.

<VirtualHost _default_:80>DocumentRoot/www/default80
    # ...</VirtualHost><VirtualHost _default_:*>DocumentRoot/www/default
    # ...</VirtualHost>

O vhost padrão para a porta 80 captura todas as solicitações que foram enviadas para um endereço IP não especificado. O servidor principal nunca é usado para atender a uma solicitação.

_default_ vhosts para um porta

Queremos ter um vhost padrão para a porta 80, mas nenhum outro vhost padrão. Para isso:

<VirtualHost _default_:80>DocumentRoot/www/default
...</VirtualHost>

Uma solicitação para um endereço não especificado na porta 80 é fornecida a partir do vhost padrão. Qualquer outra solicitação para um endereço e porta não especificados é atendida a partir do servidor principal. Qualquer uso de  * em uma declaração de host virtual, terá uma precedência maior que  _default_.

Migrando um vhost name-based para um vhost baseado em IP

O vhost name-based com o nome do host  www.example.org deve ter seu próprio endereço IP. Para evitar problemas com servidores de nomes ou proxies que armazenaram em cache o endereço IP antigo para o vhost baseado em nome. Então, queremos fornecer as duas variantes durante uma fase de migração.

A solução é fácil, porque podemos simplesmente adicionar um novo endereço IP ( 172.20.30.50) à diretiva VirtualHost 

Listen80ServerName www.example.com
DocumentRoot/www/example1

<VirtualHost172.20.30.40172.20.30.50>DocumentRoot/www/example2
    ServerName www.example.org
    # ...</VirtualHost><VirtualHost172.20.30.40>DocumentRoot/www/example3
    ServerName www.example.net
    ServerAlias*.example.net
    # ...</VirtualHost>

Com isso, o vhost pode ser acessado através do novo endereço (como um vhost baseado em IP) e através do endereço antigo (como um vhost com nome).

  • host, mod, proxy
  • 0 Usuários acharam útil
Esta resposta lhe foi útil?

Artigos Relacionados

Como reiniciar a rede Ubuntu?

O reiniciamento da interface de rede Ubuntu só pode ser realizado depois que a interface de rede...

Como saber a última vez que um usuário esteve logado no sistema Linux?

  Neste tutorial, você irá conseguir saber como verificar quem usou recentemente o servidor...

Como saber o quanto de RAM ainda há no sistema?

  Alguns usuários pensam que o Linux "rouba" espaço de memória RAM não utilizada para o seu...

Como otimizar seu MySQL

Para realizar otimização do MySQL é recomendado utilizar o mysqlmymonlite.sh...

Como se conectar remotamente com um servidor MySQL

Esse é um tutorial que irá lhe ensinar a como se configurar e se conectar a um servidor MySQL...

SiteLock