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.
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.
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é.
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:
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!
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