饥人谷技术博客

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

2020-05-02  本文已影响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,成功!

上一篇 下一篇

猜你喜欢

热点阅读