web-dev-qa-db-fra.com

Héberger deux serveurs Web distincts sur la même adresse IP

J'ai actuellement un serveur Web Ubuntu avec une configuration Apache qui fonctionne à merveille. Je veux faire deux choses. Je veux configurer deux boîtes supplémentaires qui se trouveraient sur la même adresse WAN, mais bien sûr avec des adresses locales distinctes.

Donc, disons que j'ai www.example.com comme serveur principal, je veux aussi test.example.com sur une boîte différente et fun.example.com sur un troisième.

Comment pourrais-je accomplir ceci?

5
Randy Kupel

Du lien fourni par George Kourouleas

proxy inverse Apache

Est ce que je cherchais

NameVirtualHost *:80

<VirtualHost *:80>
  ServerName foo.com

  DocumentRoot /srv/www/default

  <Location "/">
    Order Deny, Allow
    Deny from all
    Allow from all
  </Location>
</VirtualHost>

<VirtualHost *:80>
  ServerName fooa.com

  ProxyPreserveHost on
  ProxyPass / http://server2/
  ProxyPassReverse / http://server2/
</VirtualHost>

<VirtualHost *:80>
  ServerName foob.com
  ServerAlias fooc.com

  ProxyPreserveHost on
  ProxyPass / http://server3/
  ProxyPassReverse / http://server3/
</VirtualHost>

Est-ce parfaitement ce que je voulais avec mod_proxy

5
Randy Kupel

Remarque

La création de configurations d'hôte virtuel sur votre serveur Apache ne crée pas, comme par magie, d'entrées DNS pour ces noms d'hôte. Vous devez avoir les noms dans DNS, résolus en votre adresse IP, sinon personne d'autre ne pourra voir votre site Web. Vous pouvez mettre des entrées dans votre fichier hôtes pour les tests locaux, mais cela ne fonctionnera que depuis la machine avec ces entrées d'hôtes.

# Ensure that Apache listens on port 80
Listen 80
<VirtualHost *:80>
    DocumentRoot /www/example1
    ServerName www.example.com

    # Other directives here
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /www/example2
    ServerName www.example.org

    # Other directives here
</VirtualHost>

Les astérisques correspondent à toutes les adresses, de sorte que le serveur principal ne traite aucune demande. Etant donné que l'hôte virtuel avec ServerName www.example.com figure en premier dans le fichier de configuration, il a la priorité la plus élevée et peut être considéré comme le serveur par défaut ou principal. Cela signifie que si une requête reçue ne correspondant pas à l'une des directives ServerName spécifiées, elle sera traitée par ce premier VirtualHost.

Réponse de http://httpd.Apache.org

Sincères amitiés.

0
George Kourouleas