栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在HTTP 80端口上侦听时,Node.js EACCES错误(权限被拒绝)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在HTTP 80端口上侦听时,Node.js EACCES错误(权限被拒绝)

仅供参考:您不能在具有普通用户许可的情况下在<1024端口上运行套接字。您需要具有root访问权限。

共有3种解决错误的方法:-


1.授予root访问权并运行它(这是通常的一种)

2.重定向到其他端口

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000

然后在端口3000上启动我的Node.js。对端口80的请求将映射到端口3000。

您还应该编辑/etc/rc.local文件,并添加减去sudo的那一行。这将在计算机启动时添加重定向。您不需要/etc/rc.local中的sudo,因为在那里的命令在系统启动时以root身份运行。

3.赋予普通用户使用套接字作为root用户的能力

目标:-我们不提供完全的root用户访问权限,而仅授予普通用户访问socket_root的权限以在任何端口上运行服务器。

我们不希望以root用户身份运行您的应用程序,但是有一个麻烦:您的安全用户没有使用默认HTTP端口(80)的权限。您的目标是通过导航到易于使用的URL(如)来发布访问者可以使用的网站

http://localhost

不幸的是,除非您以root用户身份登录,否则通常必须使用类似

http://localhost:3000
-注意端口号的URL 。

很多人被困在这里,但是解决方案很容易。有几种选择,但这是我喜欢的选择。键入以下命令:

sudo apt-get install libcap2-binsudo setcap cap_net_bind_service=+ep `readlink -f `which node``

现在,当您告诉Node应用程序您希望它在端口80上运行时,它不会抱怨。

参考链接

来自Apache的常规信息参考链接



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/484911.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号