J'essaie de courir plusieurs Node.js
Serveurs Web localement sur ma machine.
Parce que le code que j'écris doit faire référence à un nom de domaine que j'aimerais conserver une convention de dev.myHost.com
et pointez cela au service non-Port-80 en cours d'exécution de Node (techniquement, j'exécute une sur Harp.j
s et un sur Sails.js
).
dev.hostOne.com
devrait pointer sur localhost:123
dev.hostTwo.com
devrait pointer sur localhost:456
Est-ce possible? Si c'est le cas, comment.
De ma compréhension, il semble que vous utilisiez uniquement une machine de développement locale, des moyens non connectés à un réseau qui fournit un DNS.
Si j'ai raison, je suggérerais de configurer des choses comme décrites ci-dessous:
Étape 1 : Attribuez au moins deux adresses IP à votre Mac OS (un par domaine), disons:
192.168.0.10
192.168.0.11
Pour configurer la deuxième adresse IP, vous devrez ajouter un deuxième adaptateur Ethernet (logique non physique).
Étape 2 : Comme vous n'avez pas de serveur DNS, vous pouvez configurer votre /etc/hosts
Fichier, en ajoutant:
192.168.0.10 dev.hostone.com
192.168.0.11 dev.hosttwo.com
Étape 3 : Attribuez des alias à votre interface de bouclage:
Sudo ifconfig lo0 192.168.0.10 alias
Sudo ifconfig lo0 192.168.0.11 alias
Étape 4 : SETUP ipfw
pour transmettre des paquets:
Sudo ipfw add fwd 127.0.0.1,123 tcp from me to 192.168.0.10 dst-port 80
Sudo ipfw add fwd 127.0.0.1,456 tcp from me to 192.168.0.11 dst-port 80
Vous avez terminé !
Maintenant :
localhost:123
localhost:456
J'ai mis en place deux Node.js
serveurs Web pour tester votre cas:
$ netstat -anp tcp | grep -E "123|456"
tcp4 0 0 127.0.0.1:123 *.* LISTEN
tcp4 0 0 127.0.0.1:456 *.* LISTEN
IMPORTANT : Notez que ipfw
Règles et alias d'interface de bouclage ne sont pas persistants et n'existeront plus après un redémarrage. Alors, envisagez d'ajouter un script de démarrage.