美文网首页饥人谷技术博客
让你的 Express 应用跑在 80 端口上

让你的 Express 应用跑在 80 端口上

作者: 写代码的海怪 | 来源:发表于2020-05-02 13:42 被阅读0次

    在部署我的 Express 应用后,可以正常用 xxxIP:4000 去访问我的 Express 应用,所以就想能不能直接 xxxIP 访问,毕竟这个搞好之后,就可以买域名啦!

    我的做法是在 .env 上加上

    PORT=80
    

    Express 的 www 文件这里就会应用上我自己配置的端口了:

    const port = normalizePort(process.env.PORT || '4000')
    app.set('port', port)
    

    但是运行,就报错了:Port 80 requires elevated privileges

    搜了一圈,找到了这个答案:https://www.edureka.co/community/23346/unable-to-start-express-server-on-aws-instance

    只需要两个命令:

    sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 4000
    
    sudo iptables -t nat -L
    

    这里的意思是将所有 80 端口的请求都映射到 4000 端口,这样也不需要在 .env 上做任何配置了。只要你访问 XXXIp (默认端口是80)其实就在访问 XXXIp:4000,成功!

    相关文章

      网友评论

        本文标题:让你的 Express 应用跑在 80 端口上

        本文链接:https://www.haomeiwen.com/subject/hhjkghtx.html