nodejs如何检查哪个IP访问80端口
1个回答
展开全部
由于linux的系统限制,普通用户是无法打开1024以下端口的,这里面就包括http的默认端口80,这就使得很多用户使用root权限来执行node,这带来了不可预计的安全问题,所以这并不是一个好办法。
其实我们可以使用iptables的端口转发功能来解决这个问题:
1,首先将node的主程序绑定到高于1024端口,比如8090,这样普通用户就可以启动这个http server了,只不过不是在默认的80端口上监听;
2,配置iptables将80端口转发到8090上,如下命令:
#iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8090
该命令的意思就是在iptable中添加一条端口转发规则,如果删除该规则,重新绑定,则先查找出:
#iptables --line-numbers --list PREROUTING -t nat
然后使用行号删除:
#iptables -t nat -D PREROUTING 行号
3,记得添加8090端口到iptables的INPUT ACCEPT规则中
#iptables -I INPUT -p tcp --dport 8090 -j ACCEPT
4,第2步和第3步添加的这些规则,都是临时性的,重启服务器之后就无效了,所以需要保存起来
#/sbin/service iptables save
端口转发配置完成
————————————————
版权声明:本文为CSDN博主「newborn2012」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/newborn2012/article/details/23860687
其实我们可以使用iptables的端口转发功能来解决这个问题:
1,首先将node的主程序绑定到高于1024端口,比如8090,这样普通用户就可以启动这个http server了,只不过不是在默认的80端口上监听;
2,配置iptables将80端口转发到8090上,如下命令:
#iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8090
该命令的意思就是在iptable中添加一条端口转发规则,如果删除该规则,重新绑定,则先查找出:
#iptables --line-numbers --list PREROUTING -t nat
然后使用行号删除:
#iptables -t nat -D PREROUTING 行号
3,记得添加8090端口到iptables的INPUT ACCEPT规则中
#iptables -I INPUT -p tcp --dport 8090 -j ACCEPT
4,第2步和第3步添加的这些规则,都是临时性的,重启服务器之后就无效了,所以需要保存起来
#/sbin/service iptables save
端口转发配置完成
————————————————
版权声明:本文为CSDN博主「newborn2012」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/newborn2012/article/details/23860687
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询