Node.js – ¿Cómo puedo eliminar el puerto de la url?

Yo uso node.js y socket.io.

Mi aplicación se ejecuta en el puerto 3000. La aplicación comienza desde url: mydomain.com:3000/

Quiero ejecutar la aplicación desde mydomain.com – Deseo eliminar el puerto de la url.

¿Dónde y cómo puedo establecer esta configuración?

Encuentre su llamada server.listen y cambie el puerto de 3000 a 80 . No olvide que debe ejecutar el progtwig con la capacidad CAP_NET_BIND_SERVICE (consulte las capabilities(7) para obtener detalles) para enlazar a puertos de menos de 1024 en sistemas Linux. root privilegio de root contendrá este y otros privilegios.

Si desea ejecutarlo “sin un puerto” como lo describe, en realidad lo va a ejecutar en el puerto 80. No puede hacer esto sin permisos de raíz.

Entonces, en lugar de

 node server.js 

Necesitas

 sudo node server.js 

Esto supone que tienes permisos de sudo en la máquina en la que intentas ejecutarlo. De lo contrario, te encontrarás con problemas de EACCESS. Eso es lo que Sarnold está tratando de decirte.

Así es como lo hice porque también estoy usando Apache. No puedo usar el puerto 80 porque lo reserva. Entonces, configuré un pase de proxy. Configuré mi carpeta / src para ser ignorada.

  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/  

Primero, probablemente desee ejecutar la aplicación desde su servidor local, “127.0.0.1”. Puede eliminar el puerto simplemente omitiéndolo en la configuración node.js. De forma predeterminada, los navegadores web buscan servidores en el puerto 80. Si desea que su servidor se ejecute en el puerto 3000 por alguna razón, tendrá que incluirse en la URL.