我无法通过浏览器连接到Amazon Elastic Cloud计算机实例。 我尝试去 * ** * **** .compute-1.amazonaws.com,但浏览器返回该连接已有超时了。
我可以通过ssh和winscp连接。这就是我上传开发人员的网络应用程序的方式。我还创建了一个安全组并添加了打开端口22和80的规则。
我是否必须以某种方式将安全组分配给实例?
安全组的规则也没有源IP,他们也做了0.0.0.0/0
我非常感谢通过浏览器让这个网站“可见”的任何帮助。
答案 0 :(得分:22)
默认情况下,您的实例只会位于default
安全组中。如果它是EC2实例,则在实例运行时无法更改安全组,您必须提前指定它们。如果它是VPC实例,您可以在运行时更改安全组。
default
组但是,您可以添加规则以允许端口80到该default
安全组;只是不要创建一个新的安全组,因为它无法与正在运行的实例关联。
此外,请确保您的Web服务器已启动并正在运行。从您的实例(使用SSH shell访问),使用命令netstat -lnp
检查正确的进程是否正在侦听端口80。然后,您应该会看到一行proto
tcp
和Local Address
,结尾于:80。列出的IP地址应为0.0.0.0(表示“任何IP”)或侦听网络接口的特定IP。
如果您需要Web服务器,请查看Apache或Nginx。他们都支持PHP。
希望这有帮助。
答案 1 :(得分:3)
我也遇到过ec2微实例的类似问题。我使用的是Red-Hat AMI。尽管在安全组中打开了端口8081,但我无法通过telnet连接到主机端口。禁用iptable为我做了诀窍:
sudo /etc/init.d/iptables stop
答案 2 :(得分:1)
如果您为服务器使用Windows,请不要忘记禁用防火墙。
答案 3 :(得分:0)
我在AWS上设置redash AMI映像时遇到了同样的问题。实例未运行时,应更改入站安全规则。让我们说一下实例是否正在运行(意味着它正在运行并启动);如果您更改该计算机的入站规则,您仍将面临防火墙问题。因此,请停止要更改入站规则的计算机。更改入站规则。立即启动机器。现在你可以从你刚刚打开机器的ip访问机器URL了。
答案 4 :(得分:0)
可能已启用EC2实例防火墙。 使用以下命令检查它:
sudo systemctl status firewalld
如果启用,则可以使用:
禁用它sudo systemctl disable firewalld
或设置规则允许端口80通过流量