【发布时间】:2018-05-26 18:10:08
【问题描述】:
我有一个应用程序通过 Docker 部署在我们的一台旧服务器上,并希望将其部署在 AWS 上。所有实例都驻留在公司的专用网络上。私有 IP 地址:
My local machine: 10.0.2.15
EC2 instance: 10.110.208.142
如果我从 Docker 容器中运行 nmap 10.110.208.142,我会看到端口 443 已按预期打开。但是我如果从网络上的另一台计算机运行该命令,例如从我的本地机器上,我看到该端口已关闭。
如何打开该端口到网络的其余部分?在 EC2 实例中,我尝试过:
sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT
它并没有解决问题。我还允许在我的 AWS 安全组中的端口 443 上进行适当的入站连接(截图如下):
谢谢,
【问题讨论】:
-
在您的问题中包含您的安全组详细信息。
-
@JohnHanley 已更新。如果需要,很乐意提供更多信息。
-
您的第一个 HTTPS 规则无效。 10.0.0.0/8 在 AWS 中无效。最大 CIDR 为 /16。更改为 10.0.0.0/16。这实际上应该与 VPC CIDR 匹配。对于 HTTPS IPv6 规则,请注意,这会通过 IPv6 向全世界开放您的服务器。除非您打算支持公共 IPv6,否则我会删除该条目。
-
@JohnHanley 我删除了 IPv6 条目(它是默认添加的)。我将 CIDR 更改为 /16 仍然无法正常工作。我首先使用 /8 的原因是因为它需要允许我连接到 RDS 实例。
-
这个 EC2 实例的私有 IP 地址是什么?您连接的实例的私有 IP 地址是什么?对于您的 nmap 命令,您是指定私有 IP 还是公共 IP?注意:私有 IP 地址可以安全地发布在 Internet 上。
标签: amazon-web-services ubuntu docker containers port