我使用node.js和socket.io。Node.js - 我怎样才能从网址中删除端口?
我的应用程序运行在端口3000的应用程序从URL开始于:mydomain.com:3000/
我想从mydomain.com运行应用程序 - 我想删除端口从网址。
在哪里以及如何设置此设置?
我使用node.js和socket.io。Node.js - 我怎样才能从网址中删除端口?
我的应用程序运行在端口3000的应用程序从URL开始于:mydomain.com:3000/
我想从mydomain.com运行应用程序 - 我想删除端口从网址。
在哪里以及如何设置此设置?
找到您的server.listen
呼叫并将端口从3000
更改为80
。不要忘记,您必须使用CAP_NET_BIND_SERVICE
功能运行该程序(有关详细信息,请参见capabilities(7)
),以便在Linux系统上绑定到小于1024的端口。 root
特权将包含此等特权。
首先,您可能希望从本地主机“127.0.0.1”运行应用程序。您可以通过在node.js设置中忽略端口来删除端口。默认情况下,Web浏览器在端口80上查找服务器。如果您希望服务器由于某种原因在端口3000上运行,则必须将其包含在URL中。
有没有解决方案?它必须将应用程序设置为在没有url的端口上的服务器上运行。 – Jenan 2012-03-02 00:54:53
对不起,我误解了。我不相信有没有办法在端口3000上运行,而不包括在URL中。但我可能是错的。 – feralcreature 2012-03-02 00:57:29
如果您想像您描述的那样“无端口”地运行它,您实际上将在端口80上运行它。如果没有root权限,则无法执行此操作。
所以不是
node server.js
你需要
sudo node server.js
这是假设你的机器上你想上运行sudo的权限。否则,你会遇到EACCESS问题。这就是sarnold试图告诉你的。
如何在Windows系统中运行 – Trojan 2016-12-02 14:09:08
这是我做到这一点的原因,因为我使用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>
嗨,我想做的是完全一样的东西,但失败了。在错误日志中显示:[[Fri Nov 29 18:45:45 2013] [error](111)连接被拒绝:代理:HTTP:尝试 连接到my.IP.addr.0:3000(www.mydomainname.com) failed'。你正在使用哪个代理模块(http,ftp,ajp等)? – Boyang 2013-11-29 18:49:57
嘿查尔斯 - 我正在使用代理默认的apache设置。我改变的唯一让代理工作的是我的虚拟主机中的这一点。我的apache配置已加载所有代理模块。并且apache在我的配置中正在监听端口80。你没有加载任何模块? – Anna 2013-12-04 13:55:57
这与node.js无关。这是http的基础知识。 – TheHippo 2013-05-02 19:26:45
此外,搜索会带来这个:http://stackoverflow.com/questions/14303690/nodejs-domain-without-port-number – TheHippo 2013-05-02 19:27:56