Node.js – 我怎样才能从url中删除端口?
我使用node.js和socket.io。
我的应用程序在端口3000上运行。应用程序从url开始: mydomain.com :3000/
我想从mydomain.com运行应用程序 – 我想从URL中删除端口。
在哪里以及如何设置此设置?
find你的server.listen
调用,并将端口从3000
更改为80
。 不要忘记,您必须使用CAP_NET_BIND_SERVICE
function来运行程序(请参阅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中。