CNode

mac sierra 下如何方便地监听1024以下的端口??

问答
Pp2227__legacy_56b1661926d02fc6626bb472发布于9 年前最后回复9 年前7 回复3996 浏览0 收藏

操作系统 mac 10.12.5 有这么一段代码

var http = require("http");
http.createServer(function(request, response) {
    response.writeHeader(200, {"Content-Type": "text/html"});
    response.write("Hello World!");
    response.end();
}).listen(80);

启动之后报 EACCESS 搜索这个帖子可知 https://cnodejs.org/topic/50220732f767cc9a51e9fcef ,加sudo 可以解决这个问题 里面还有一个方法是iptables

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

但是发现sierra下没有iptables这个命令,那应该用什么方法代替呢?因为不想每次启动node都敲密码

查看回复

回复 (7)

I
i5ting#1·9 年前

我记得是是因为内置的apache占用了80端口

引用 i5ting我记得是是因为内置的apache占用了80端口

@i5ting 用sudo是可以运行的,但是我并不想每一次启动都输入密码

引用 godghdaihttps://zhidao.baidu.com/question/1895823885222738500.html

@godghdai chown root.root /path/to/application 有点危险不想这样做 chmod u+s /path/to/application 无效

第二种方法: CAP_NET_BINDSERVICE -bash: setcap: command not found

第三种方法: Port Forwarding 这就是我正文说的,sierra下没有iptables这个命令

第四种方法: 没看懂

总体说来我是想用第三种方法的,毕竟风险最小,但找不到方法。

I
i5ting#5·9 年前

反向代理转呀

引用 i5ting反向代理转呀

@i5ting 你的意思是用nginx吗?这也是一种方法,nginx重启的频率比较低,有无更好一点的方法

参与回复
登录后即可参与回复。登录