繁体   English   中英

在亚马逊 ec2 的 80 端口上服务节点 Webapp

[英]Serve node Webapp on port 80 in amazon ec2

我有一个节点应用程序在端口 80 上侦听,我已将安全组设置为在端口 80 上打开。 在此处输入图像描述

但是,当我通过公共 ip( http://xx.xxx.xx.xxx/ )在浏览器中访问我的 webapp 时,它没有出现。

可能是什么问题?

我已将此文档用作指南https://aws.amazon.com/premiumsupport/knowledge-center/connect-http-https-ec2/

当您的安全组已经允许流量时,这意味着实例有问题。

调试此类问题的第一步是验证实例内部的应用程序状态。

  • 对实例执行ssh并验证实例是否在本地主机上响应curl localhost
  • 检查进程是否正在运行,如果您使用的是任何 nodejs 进程管理器,例如 pm2 pm2 pm2 list或 forever forever listps -aux | grep node ps -aux | grep node
  • 验证是在端口80上运行的服务器。
  • 检查是端口占用netstat -antu | grep LISTEN netstat -antu | grep LISTEN

简而言之,如果应用程序使用curl localhost在 localhost 上响应,那么如评论中所述,则该实例位于私有子网中。

您可以查看本文以了解公共子网和私有子网。

所以答案是,我的安全组很好。 我的应用程序没有运行,因为我没有正确设置环境变量。 sudo PORT=80 node server.js 是我需要的命令。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM