如何在 EC2 实例上打开 Web 服务器端口

Posted

技术标签:

【中文标题】如何在 EC2 实例上打开 Web 服务器端口【英文标题】:How to open a web server port on EC2 instance 【发布时间】:2013-06-14 05:21:07 【问题描述】:

我在 EC2 实例上的 0.0.0.0:8787 上运行 CherryPy Web 服务器。

我可以通过 EC2 机器上的本地 wget 连接到 Web 服务器,但我无法从我自己的远程机器访问实例(我通过 ssh 连接到 EC2)。

我需要打开 8787 端口才能远程访问 Web 服务器吗?如果是这样,如何做到这一点?另外,我可以为此使用 EC2 实例的公共 IP 吗?

【问题讨论】:

Opening port 80 EC2 Amazon web services的可能重复 EC2: How to add port 8080 in security group?的可能重复 对,我应该预料到一年后有人会问同样的问题 如果您在 EC2 实例上打开非标准端口(例如 8787)并尝试从公司网络访问主机但无法访问,则可能是您的组织正在阻止对该端口的出站访问。在这种情况下,请查看this answer。 【参考方案1】:

按照this answer 中描述的步骤,而不是使用下拉菜单,在“端口范围”中键入端口 (8787),然后在“添加规则”中键入。

Go to the "Network & Security" -> Security Group settings in the left hand navigation

找到您的实例所属的安全组 点击入站规则 使用下拉菜单并添加 HTTP(端口 80) 点击应用并享受

【讨论】:

我没有看到“应用”我只看到“保存”。当我点击“保存”时,它没有打开我的 3000 端口,是否有“应用”按钮? @Noitidart Save 就是他的意思。但我相信你现在已经明白了:) 谢谢@mattdevio - 它似乎工作但不是从某些地方,我想我可能搞砸了。 另外,如果您正在处理 Windows EC2 实例,请查看@SurajKj 提供的解决方案。这个解决方案和这个解决方案对我有用。 从链接的说明中我并没有立即清楚,但您应该选择“自定义 TCP”。否则您将无法更改端口。【参考方案2】:

您需要在 ec2 安全组中打开 TCP 端口 8787。还需要在 EC2 实例的防火墙上打开相同的端口。

【讨论】:

它使用iptables吗? 怎么样,有链接或教程吗? 如何在 EC2 实例的防火墙上打开端口? @MahshidZeinaly parallels.com/blogs/ras/… 这适用于windows。我不认为对于 ubuntu 你需要做任何事情!只需打开 Ubuntu 的安全组【参考方案3】:

您需要按照 cyraxjoe 的说明配置安全组。 除此之外,您还需要打开系统端口。 windows打开端口的步骤:-

    在“开始”菜单上,单击“运行”,键入 WF.msc,然后单击“确定”。 在高级安全 Windows 防火墙的左窗格中,右键单击入站规则,然后单击操作窗格中的新建规则。 在“规则类型”对话框中,选择“端口”,然后单击“下一步”。 在“协议和端口”对话框中,选择 TCP。选择特定本地端口,然后键入端口号,例如默认实例为 8787。点击下一步。 在“操作”对话框中,选择“允许连接”,然后单击“下一步”。 在“配置文件”对话框中,选择任何描述您要连接时的计算机连接环境的配置文件,然后单击“下一步”。 在“名称”对话框中,键入此规则的名称和说明,然后单击“完成”。

参考:-Microsoft Docs for port Opening

【讨论】:

我被这个问题困扰了很久;这就像一个魅力。非常感谢!这个解决方案需要更多的牵引力。

以上是关于如何在 EC2 实例上打开 Web 服务器端口的主要内容,如果未能解决你的问题,请参考以下文章

打开端口 80 EC2 亚马逊网络服务 [关闭]

我们如何在aws ec2 linux实例的不同端口安装多个apache服务器

无法连接到端口 8080 上的 EC2 Windows 实例

如何在EC2 Linux 2上启动简单的Web服务器并具有

如何在 Amazon EC2 Ubuntu 服务器上设置 GUI

无法连接到 EC2 上的 cassandra 服务器?