Node.js – Come posso rimuovere la porta dall’URL?

Io uso node.js e socket.io.

La mia applicazione funziona sulla porta 3000. L’applicazione inizia dall’URL : mydomain.com:3000/

Voglio eseguire l’applicazione da mydomain.com – Voglio rimuovere la porta dall’URL.

Dove e come posso impostare questa impostazione?

Trova la tua chiamata server.listen e cambia la porta da 3000 a 80 . Non dimenticare che è necessario eseguire il programma con la capacità CAP_NET_BIND_SERVICE (vedere le capabilities(7) per i dettagli) per collegarsi a porte inferiori a 1024 su sistemi Linux. root privilegio di root conterrà questo e altri privilegi.

Se si desidera eseguirlo “senza una porta” come si descrive, lo si sta effettivamente eseguendo sulla porta 80. Non è ansible farlo senza i permessi di root.

Quindi invece di

 node server.js 

Hai bisogno

 sudo node server.js 

Questo presuppone che tu disponga delle autorizzazioni sudo sul computer su cui stai provando ad eseguirlo. Altrimenti incontrerai problemi di EACCESS. Questo è quello che Sara sta cercando di dirti.

Ecco come ho fatto perché sto usando Apache e non posso usare la porta 80 perché la riserva. Quindi, ho impostato un passaggio proxy. Ho impostato la mia cartella / src per essere ignorata.

  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/  

Per prima cosa, probabilmente vorrai eseguire l’applicazione dal tuo localhost, “127.0.0.1”. Puoi rimuovere la porta semplicemente omettendola nel setup node.js. Per impostazione predefinita, i browser Web cercano i server sulla porta 80. Se vuoi che il tuo server sia in esecuzione sulla porta 3000 per qualche motivo, dovrà essere incluso nell’URL.