【问题标题】:Port issue on AWS EC2AWS EC2 上的端口问题
【发布时间】:2016-08-04 17:05:29
【问题描述】:

我正在为 MEAN 堆栈使用 EC2 实例。我已经安装了一个 Angular JS 应用程序。它在端口 9000 上运行良好。如果我输入

curl localhost:9000 

我可以看到输出。 当我通过互联网从浏览器检查它时,它不起作用。我去了管理面板并打开了端口,我之前已经从端口 3000 的快速应用程序中完成了此操作。我仍然无法从互联网访问它。然后我检查了我在 3000 端口上运行的 express 应用程序,它运行良好。所以我关闭了该应用程序并将 Angular 应用程序的端口更改为 3000,然后重新开始。这次我得到“连接被拒绝错误” 之前的错误是“连接超时”。于是我把端口恢复到了9000。

现在我尝试以传统方式打开端口。

sudo iptables -I INPUT 1 -p tcp --dport 9000 -j ACCEPT

由于网络连接速度慢,意外运行了三次此命令。 这就是它的样子。

sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:9000
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:9000
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:9000

Chain FORWARD (policy ACCEPT)     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

此时它应该可以工作,但仍然遇到同样的问题。

【问题讨论】:

    标签: port firewall iptables


    【解决方案1】:

    不确定您的网络拓扑是什么样的,但看起来您的 iptables 很好(如果是三重)。检查您的安全组。您的 EC2 实例必须分配有一个安全组,并且默认情况下所有端口都已关闭。如果您想在端口 9000 上允许来自 Internet 的入站流量,则必须在与 EC2 实例关联的安全组上明确允许端口 9000。

    如果您有 ELB 或其他设备,那么您还必须允许这些设备上的特定流量。

    【讨论】:

      猜你喜欢
      • 2013-04-08
      • 2019-04-07
      • 2018-09-13
      • 1970-01-01
      • 2014-12-02
      • 2021-04-21
      • 2013-06-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多