linux轉(zhuǎn)發(fā)80端口到node端口
當(dāng)我們做nodeJS開(kāi)發(fā),尤其是新手剛?cè)肟?,在服?wù)器上部署node,監(jiān)聽(tīng)1024以下端口時(shí),總會(huì)報(bào)錯(cuò)
#Error: listen EACCES 127.0.0.1:80
這是由于linux系統(tǒng)對(duì)普通用戶(hù)的限制,普通用戶(hù)無(wú)法開(kāi)啟1024以下的端口,但是如果將用戶(hù)權(quán)限提升為root管理員權(quán)限會(huì)產(chǎn)生安全性問(wèn)題,有沒(méi)有辦法在既能監(jiān)聽(tīng)1024以下的端口,又能保證系統(tǒng)的安全呢?
iptables的轉(zhuǎn)發(fā)
1、在iptable中添加一條端口轉(zhuǎn)發(fā)規(guī)則,將80端口轉(zhuǎn)發(fā)到8080上
#iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
2、在INPUT ACCEPT規(guī)則中添加8080端口
#iptables -I INPUT -p tcp --dport 8080-j ACCEPT
3、如果需要開(kāi)機(jī)自動(dòng)啟動(dòng),則還需要一條命令(如果沒(méi)有,則該轉(zhuǎn)發(fā)規(guī)則會(huì)失效)
#/sbin/service iptables save
如果某一天因?yàn)闃I(yè)務(wù)需要,需要修改端口,或者不想要了怎么辦?
當(dāng)然是刪除需要修改或刪除的轉(zhuǎn)發(fā)規(guī)則,然后重新綁定,步驟如下
1、先查找
#iptables --line-numbers --list PREROUTING -t nat
以下是查找結(jié)果
Chain PREROUTING (policy ACCEPT)
num target prot opt source destination
1 REDIRECT tcp -- anywhere anywhere tcp dpt:http redir ports 8080
2、找出來(lái)了最后當(dāng)然是刪除了
#iptables -t nat -D PREROUTING 行號(hào)
至此轉(zhuǎn)發(fā)配置完成,轉(zhuǎn)發(fā)就是如此簡(jiǎn)單!