Node.js – 我怎样才能从url中删除端口?

我使用node.js和socket.io。

我的应用程序在端口3000上运行。应用程序从url开始: mydomain.com :3000/

我想从mydomain.com运行应用程序 – 我想从URL中删除端口。

在哪里以及如何设置此设置?

find你的server.listen调用,并将端口从3000更改为80 。 不要忘记,您必须使用CAP_NET_BIND_SERVICEfunction来运行程序(请参阅capabilities(7)以了解详细信息),以便绑定到Linux系统上小于1024的端口。 root特权将包含这个和其他特权。

如果你想像你所描述的那样运行“没有端口”,你实际上将在端口80上运行它。如果没有root权限,你不能这样做。

所以,而不是

 node server.js 

你需要

 sudo node server.js 

假设你在你试图运行它的机器上有sudo权限。 否则,你会遇到EACCESS问题。 这就是sarnold试图告诉你的。

这是我如何做,因为我使用Apache以及我不能使用端口80,因为它保留它。 所以,我设置了一个代理通行证。 我设置我的/ src文件夹被忽略。

 <VirtualHost *:80> 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/ </VirtualHost> 

首先,您可能希望从本地主机“127.0.0.1”运行应用程序。 您可以通过在node.js设置中忽略端口来删除端口。 默认情况下,Web浏览器在端口80上查找服务器。如果您希望服务器由于某种原因在端口3000上运行,则必须将其包含在URL中。