Je ne suis pas le gars le plus compétent en matière de réseautage, mais voilà ...
J'ai créé une application avec NodeJS et j'aimerais tester l'application sur mon LAN avec ma famille. L'application écoute sur le port 1337
pour les connexions et je peux accéder à l'application très bien via mon propre PC en tapant localhost:1337
, 192.168.0.3:1337
ou même http://joel-pc:1337/
dans la barre d'adresse de mon navigateur.
Je vais également exécuter apache aux côtés de NodeJS, et je peux accéder à cette amende en tapant 192.168.0.3
ou http://joel-pc/
dans la barre d'adresse d'un navigateur tant qu'il est connecté au même réseau.
Maintenant, voici la partie bizarre; Si j'arrête le service apache, modifie mon application de noeud pour l'écouter sur le port 80
(http) insted 1337
, il sera accessible sur mon pc en tapant localhost
, 192.168.0.3
ou même http://joel-pc
dans la barre d'adresse de mon navigateur. Cependant, je ne peux toujours pas accéder à NodeJS sur un autre PC de mon réseau en dehors du mien.
J'ai essayé de créer une règle sortante dans Windows 7 pour autoriser l'accès au port 1337, mais je ne parviens toujours pas à accéder à mon serveur NodeJS sur un autre PC que le mien, même s'il écoute sur le port 80. Y a-t-il quelque chose d'évident Je manque ici?
la source
Réponses:
Il est fort probable que votre application de nœud se lie à l'adresse IP de bouclage
127.0.0.1
au lieu de "toutes les IP"0.0.0.0
car il s'agit du comportement par défaut delisten
. Spécifiez le port et l'IP dans votre appel commeserver.listen(80, '0.0.0.0');
et réessayez.la source
localhost
fonctionne comme une chaîne, mais dans d'autres, vous devez le taper comme127.0.0.1
Obtenez votre IP de réseau local actuelle et exécutez le serveur http comme ceci:
la source
::
ou0.0.0.0
)Tout d'abord, vous devez ajouter
C:\Program Files (x86)\node
à la liste des applications de confiance dans votre pare-feu.Ensuite, dans votre application de nœud, vous pouvez écrire:
ou:
ou:
ou:
ou:
ou:
Chacune de ces 6 combinaisons fonctionne dans mon cas: node.js sur Windows Server 2016, protégé par un proxy d'entreprise.
la source
Faire ce qui suit a fonctionné pour moi sur un PC Windows. Essayez ceci: ouvert
Recherchez ensuite node.js dans la liste et cliquez sur modifier les paramètres> Assurez-vous que l'accès privé est coché, puis cliquez sur ok.
la source
J'ai trouvé une bonne solution à ce problème. Plutôt que de faire toutes les configurations (configuration du pare-feu, port de transfert, etc.), j'ai utilisé localtunnel qui est un utilitaire pour exposer le serveur de nœud local sur Internet. Vous pouvez l'utiliser pour le développement, les tests, le partage, mais ne l'utilisez pas pour la production.
Vous devez d'abord installer localtunnel comme suit:
Après cela, configurez votre application de nœud de sorte que votre serveur de nœud s'exécute sur localhost. Par exemple:
Notez votre_port qui dans mon cas était 3000 et démarrez votre serveur de noeud.
Ouvrez un autre terminal et tapez la commande suivante pour exécuter localtunnel.
Après cela, dans le terminal, vous obtiendrez une URL que vous pourrez utiliser à des fins de développement / test. Cette URL sera disponible sur Internet afin que vous puissiez également la partager avec d'autres. Tant que votre tunnel local est en cours d'exécution, d'autres peuvent accéder à votre serveur de nœud local.
Pour plus d'options de configuration / d'aide, vous pouvez consulter la documentation: https://www.npmjs.com/package/localtunnel
la source