【问题标题】:AWS localhost with whatever port具有任何端口的 AWS localhost
【发布时间】:2018-07-12 05:05:01
【问题描述】:

我有一个运行 apache 服务器的 EC2 实例,我可以正常访问。但是,我也有在同一个 EC2 实例上运行的三个 api。它们在诸如 3007 之类的端口上运行,并且我已允许访问该端口,并且我的前端尝试将 localhost 与这些关联的端口一起使用。 现在,当我启动这些 API 时,它们可以很好地连接到我的外部资源,例如数据库,但是我的前端无法连接到它们。无需使用 AWS api gateway 等额外服务,为什么会出现连接问题?

【问题讨论】:

  • 您是否允许所有 IP 从端口 3007 进行传入/传出访问?检查您的安全组。
  • 嘿@SamyokNepal 感谢您的回复。是的,我确实允许将这些端口作为自定义 TCP 规则访问所有端口
  • 在前端,你是调用localhost还是你的EC2 ip?
  • 在前端我调用 localhost ,前端也在同一个 ec2 实例上运行 @SamyokNepal

标签: node.js api amazon-web-services amazon-ec2


【解决方案1】:

我认为您的问题源于您调用 localhost 而不是您的 EC2 IP/域名这一事实。

当您拨打localhost 时,这意味着您使用的任何计算机。对于后端,鼓励使用localhost,因为您在同一台计算机上。但是在前端,您的网站会尝试访问localhost:3007,这是客户端计算机。您需要将其更改为 ec2-<<your EC2 public IP here>>.compute-1.amazonaws.com 或您的 EC2 公共 IP。

你可以在这里找到这些:

【讨论】:

  • 所以它似乎工作正常,因为我搞砸了 linux 系统,我没有 linux 大师,我不得不创建一个新的 EC2 并开始传输东西。我得到了一个 api 并启动了它。使用 Postman,我能够通过 EC2 IP 与 api 连接,所以我假设一旦我完成了所有其他设置,它应该可以工作。谢谢@Samyok尼泊尔
  • 很抱歉这么晚才回复您——但太好了!
猜你喜欢
  • 2017-06-28
  • 2016-07-20
  • 2011-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-19
  • 2021-02-16
  • 1970-01-01
相关资源
最近更新 更多