37 votes

Node.js - Comment puis-je supprimer le port de l'URL?

Je utilise le node.js et le socket.io.

Mon application fonctionne sur le port 3000. L'application démarre à partir de l'URL : mydomain.com:3000/

Je veux exécuter l'application à partir de mydomain.com - Je veux supprimer le port de l'URL.

Où et comment puis-je régler ce paramètre?

24voto

sarnold Points 62720

Trouvez votre server.listen appel et changez le port de 3000 à 80. N'oubliez pas que vous devez exécuter le programme avec la capacité CAP_NET_BIND_SERVICE (voir capabilities(7) pour plus de détails) afin de lier des ports inférieurs à 1024 sur les systèmes Linux. Le privilège root contiendra ce privilège, et d'autres.

13voto

Aashay Desai Points 642

Si vous voulez l'exécuter "sans port" comme vous le décrivez, vous allez en fait le faire tourner sur le port 80. Vous ne pouvez pas le faire sans les permissions root.

Alors au lieu de

node server.js

Vous avez besoin de

sudo node server.js

Cela suppose que vous avez les permissions sudo sur la machine où vous essayez de l'exécuter. Sinon, vous allez rencontrer des problèmes EACCESS. C'est ce que sarnold essaie de vous dire.

11voto

Anna Points 555

C'est ainsi que je l'ai fait car j'utilise également apache et je ne peux pas utiliser le port 80 car il le réserve. J'ai donc configuré un proxy pass. J'ai configuré mon dossier /src pour être ignoré.

    DocumentRoot "/Library/WebServer/Documents/www.mysite.com"
    ServerName local.www.mysite.com
    ServerAlias local.www.mysite.com
    ProxyPass /src !
    ProxyPass / http://local.www.mysite.com:3000/
    ProxyPassReverse / http://local.www.mysite.com:3000/

3voto

feralcreature Points 96

Tout d'abord, vous voulez probablement exécuter l'application à partir de votre localhost, "127.0.0.1". Vous pouvez supprimer le port simplement en l'ommettant dans la configuration de node.js. Par défaut, les navigateurs web recherchent des serveurs sur le port 80. Si vous voulez que votre serveur fonctionne sur le port 3000 pour une raison quelconque, il devra être inclus dans l'URL.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X