由于node.js下开发web应用需要sudo权限才能监听80和443端口,避免某些安全因素,我们可以将80端口转发到8080将43端口转发到8443,让node.js应用监听其他端口。
    shell命令如下:

    1. # 端口转发
    2. # 将80端口转发到8080端口
    3. $ sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
    4. # 将443端口转发到8443端口
    5. $ sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443
    6. $ sudo iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
    7. $ sudo iptables -I INPUT -p tcp --dport 8443 -j ACCEPT
    8. $ sudo iptables-save

    如果本机要访问自己的80端口和8443端口则要执行以下命令

    1. $ sudo iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 80 -j DNAT --to 127.0.0.1:8080
    2. $ sudo iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 443 -j DNAT --to 127.0.0.1:8443
    3. $ sudo iptables-save