web-dev-qa-db-fra.com

Comment faire en sorte que les sous-domaines pointent vers différentes adresses IP locales?

J'ai un nom de domaine mydomain.com qui pointe vers une adresse IP statique. J'ai configuré dans mon modem de sorte que toute demande au port 80 de cette adresse IP statique parvienne à mon ordinateur local 192.168.1.100 (serveur Web).

Maintenant, je veux que 2 sous-domaines pointent sur 2 une autre adresse IP locale:
sub1.mydomain.com ---> 192.168.1.101 (Héberger un autre serveur Web)
sub2.mydomain.com ---> 192.168.1.102 (serveur redmine de l'hôte)

Est-ce possible? Si oui, s'il vous plaît, montrez-moi comment?

J'utilise Ubuntu Server 12.

4
thang nhoc

Répondez grâce à JoshP dans défaillance du serveur :

Je viens de faire cela récemment. Voir ma question . C'était un peu long, mais je l'ai finalement mis en place.

  • Configurez le DNS. L’enregistrement A indiquera votre adresse IP publique. Ainsi, votredomaine.com pointe vers votre.pub.ip.add. Ajoutez des enregistrements CNAME pour les sous-domaines. Ainsi, sub1.votredomaine.com pointe sur @, et sub2.votredomaine.com pointe sur @, etc. sous-domaine que vous essayez d'atteindre.

  • Configurez Apache. Vous voudrez configurer des hôtes virtuels pour chaque sous-domaine (et peut-être également pour le domaine principal). Vous pouvez définir les hôtes virtuels à différents endroits ... le mien est défini dans /etc/Apache2/sites-available et inclut la directive <Location>, où vous allez configurer votre proxy inverse.

Cette réponse a été donnée à OP dans ServerFault.

3
Braiam

Les clients de votre réseau local devront également mettre à jour leur fichier hosts à moins que vous installiez et configuriez également un serveur DNS et que vos clients l’utilisent. Dnsmasq est facile et contient de nombreux commentaires utiles dans le fichier de configuration. BIND en est un autre, mais son fichier de configuration utilise une syntaxe bizarre et absurde que personne ne comprend vraiment. Unbound est un autre qui met fortement l'accent sur la sécurité.

0
Colin

Si je comprends bien, vous n’avez qu’une seule adresse IP publique (sur seulement 1 port TCP 80 sur celui-ci), mais vous souhaitez exécuter 3 serveurs Web, dont un seul est accessible directement au public (via un port suivant).

Vous avez 2 choses à configurer:

  1. Niveau DNS: assurez-vous que www. sub1. sub2. tous pointent à la même adresse que mydomain.com. Cela peut être fait dans le panneau de configuration de votre registraire DNS (recherchez une option "Caractère générique" si disponible). Cela devrait vous permettre d’envoyer une requête ping à sub1.mydomain.com et à tous les autres sous-domaines.
  2. Toutes les demandes arrivant sur le serveur 192.168.1.100, vous devez configurer ce serveur Web pour qu'il transfère les demandes des sous-domaines à d'autres serveurs (internes).

Vous pouvez accéder aux autres serveurs si vous utilisez le serveur Web principal (.100) en tant que proxy inverse pour les sous-domaines sub1. et sub2.

Je pense que cela pourrait être un bon exemple: exemple httpd.conf avec explication

Remarque: dans les lignes ProxyPass et ProxyReverse, vous devrez utiliser un nom d’hôte ou une adresse IP interne, et non le nom de domaine 1.mydomaine.com, car vous obtiendrez une boucle!

Si cela ne fonctionne pas avec ce site, voici les termes de recherche de Google: vhost reverse proxy

Bonne chance!

0
Neduz

Le moyen le plus simple serait de modifier votre fichier hosts, qui se trouve dans /etc/.

Cela ressemblerait à ceci:

# This is an example of the hosts file
127.0.0.1  localhost loopback
192.168.1.100 webserver
192.168.1.101 sub1
192.168.1.102 sub2
0
badgerhill