由于node.js下开发web应用需要sudo权限才能监听80和443端口,避免某些安全因素,我们可以将80端口转发到8080将43端口转发到8443,让node.js应用监听其他端口。
shell命令如下:
# 端口转发
# 将80端口转发到8080端口
$ sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
# 将443端口转发到8443端口
$ sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443
$ sudo iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
$ sudo iptables -I INPUT -p tcp --dport 8443 -j ACCEPT
$ sudo iptables-save
如果本机要访问自己的80端口和8443端口则要执行以下命令
$ sudo iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 80 -j DNAT --to 127.0.0.1:8080
$ sudo iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 443 -j DNAT --to 127.0.0.1:8443
$ sudo iptables-save