【问题标题】:AWS Linux (Ubuntu) hosted application is not accessible from public ip无法从公共 IP 访问 AWS Linux (Ubuntu) 托管应用程序
【发布时间】:2016-12-02 06:51:48
【问题描述】:

我在 AWS Linux(Ubuntu 16.04)上免费托管了一个 nodejs(express hello world 应用程序)应用程序。当我执行wget http://localhost:8080 时,它成功运行并将输出保存在 index.html 文件中。 但是当我对我的实例的公共 ip (wget http://35.154.40.189:8080) 做同样的事情时,它会说

Connecting to 35.154.40.189:8080... failed: No route to host.

我还使用http://www.lauradhamilton.com/how-to-set-up-a-nodejs-web-server-on-amazon-ec2 中给出的步骤将所有 ipv4 流量转发到我的应用程序,但它不起作用。

我还从 aws 控制台启用了端口 8080。

netstat -atn says 

netstate -ntlp says

我尝试了我在互联网上获得的所有内容,但无法解决问题。现在我太沮丧了。任何帮助都将不胜感激。

【问题讨论】:

标签: node.js amazon-web-services ubuntu amazon-ec2 web-hosting


【解决方案1】:
  • 首先在 AWS 中创建您的实例
  • 启用你在图片中提到的入站规则

  • 在与 AWS ubuntu 实例进行 ssh 连接后启用用户组

  • 一旦实例开始运行,然后正确安装节点
  • sudu apt-get update
  • sudo apt-get install libssl-dev g++ make
  • 从网络下载节点源代码node.tar.gz 使用命令wget link https://nodejs.org/dist/v6.9.1/node-v6.9.1.tar.gz
  • tar -xvf node -v0.10.32.tar.gz
  • 现在在解压 .gz 后转到节点
  • ./configure && make && sudo make && sudo make install

您的节点服务器已准备好在新的 AWS 实例上运行

或观看此https://www.youtube.com/watch?v=WxhFq64FQzA&t=1693s

【讨论】:

  • 非常感谢阿迪尔。早些时候我通过 Ubuntu 包管理器“sudo apt-get install nodejs”安装节点 js,这是问题所在。
  • 你好,我在服务器上安装了 pm2 和 npmbox,现在我无法从外部访问应用程序。
  • netstat -atn 说 tcp6 0 0 :::8080 :::* LISTEN
  • 我认为 iptables 出了点问题。
  • 更改监听端口或让我进一步了解
猜你喜欢
  • 2021-01-03
  • 2020-11-03
  • 1970-01-01
  • 2018-08-23
  • 1970-01-01
  • 2015-10-09
  • 1970-01-01
  • 1970-01-01
  • 2021-08-10
相关资源
最近更新 更多