我使用 Node.js 编写了一个 Web 服务器。
当我尝试使用我为其编写的测试器测试我的服务器时,只有当我用于服务器的端口不是 80 时,我才会成功。
我检查了 netstat,没有其他应用程序使用端口 80。
我在控制台上收到的错误是:
Error: connect ECONNREFUSED
at errnoException (net.js:640:11)
at Object.afterConnect [as oncomplete] (net.js:631:18)
在这种情况下可以做什么?
您不应该养成以特权用户身份运行节点的习惯。这是我在 6 台不同机器上使用的方法:
Use iptables
将端口 80 上的传入流量转发到 8080,如下所示:
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
然后一定要保存它
sudo iptables-save
您还想将其添加到 rc.local 中,以便在重新启动或实例启动时进行设置(对于 EC2 或其他云)
然后您可以以任何用户身份安全地启动节点侦听 8080。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)