我试图在AWS上的ec2实例上部署NodeJS/React应用程序。
我的应用程序运行良好的端口3000,但没有被转发到端口80。
在这种情况下,修改proxy_pass或修改iptable似乎都不起作用。
我试过以下几种方法:
sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000
我的目录结构如下:
- appname/ - /api (node.js server-side code) - /client (React client-side code)
我尝试过在npm start和appname/client/内部运行npm build。sudo netstat -lntp | grep 80没有显示监听端口80的进程,因此端口是可用的。
该应用程序在[public IP]:3000上呈现。当我尝试访问[public IP]时,浏览器会显示“无法到达该站点”。
这似乎是一件相当简单的事情,但是nginx和iptables配置都被忽略了。我是不是遗漏了什么?
发布于 2019-07-14 01:50:25
端口也需要从亚马逊EC2实例的控制台面板转发。为了从EC2实例控制台面板启用端口,请执行以下步骤:
Security groups区段assigned security group名称,它应该类似于launch-wizard-{number}inbound选项卡。您可以查看下面的URL以获得更多有关Amazon端口转发的信息。
https://aws.amazon.com/premiumsupport/knowledge-center/connect-http-https-ec2/
https://stackoverflow.com/questions/57023710
复制相似问题