首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在AWS服务器上部署Node.js/React应用程序,端口不能正确转发

问在AWS服务器上部署Node.js/React应用程序,端口不能正确转发
EN

Stack Overflow用户
提问于 2019-07-14 00:18:09
回答 1查看 2.1K关注 0票数 1

我试图在AWS上的ec2实例上部署NodeJS/React应用程序。

我的应用程序运行良好的端口3000,但没有被转发到端口80。

在这种情况下,修改proxy_pass或修改iptable似乎都不起作用。

我试过以下几种方法:

  1. 修改Nginx的服务器配置,将端口3000转发到端口80。我的Nginx配置: 服务器{侦听80;位置/{ proxy_pass http://[My专用ec2 IP]:3000;proxy_http_version 1.1;proxy_set_header升级$http_upgrade;proxy_set_header连接“升级”;proxy_set_header主机$host;proxy_cache_bypass $http_upgrade;server_name example.com www.example.com;}}
  2. 修改iptable以将端口3000转发到端口80。

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配置都被忽略了。我是不是遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-14 01:50:25

端口也需要从亚马逊EC2实例的控制台面板转发。为了从EC2实例控制台面板启用端口,请执行以下步骤:

  1. 登录亚马逊EC2仪表板
  2. 选择您的EC2实例计算机
  3. 选择EC2机器后,在底部面板中找到Security groups区段
  4. 单击assigned security group名称,它应该类似于launch-wizard-{number}
  5. 然后,从底部面板打开inbound选项卡。
  6. 单击“编辑”按钮并添加需要在实例计算机中打开的端口(80,3000)。

您可以查看下面的URL以获得更多有关Amazon端口转发的信息。

https://aws.amazon.com/premiumsupport/knowledge-center/connect-http-https-ec2/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57023710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档