我使用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