amazon-web-services - 无法访问AWS EC2上的8080端口

标签 amazon-web-services docker amazon-ec2

我刚刚启动了一个新的 AWS EC2 实例。在实例的安全组中,我添加了一条新规则来打开端口 8080 以及端口 80。

我创建了一个 docker 镜像和容器,根据 aws tutorial 运行 apache 服务器。 .

当我运行docker run -p 80:80 hello-world时(其中 hello-world 是 apache 容器镜像),一切正常,我可以从公共(public)网络访问服务器(使用 Web 浏览器或curl 命令)。

但是,当我运行 docker run -p 8080:80 hello-world 时我尝试发送 GET 请求(网络浏览器或curl),但出现连接超时。

如果我登录到运行 docker 容器的主机,curl 命令可以正常工作。这告诉我端口 8080 并未真正向公共(public)网络开放,并且有东西阻止了它,那可能是什么?

最佳答案

我试图重现这个事情,但我无法做到(它对我有用),所以你应该检查的事情:

1) 检查安全组是否确实向您的 IP 打开了端口 80 和 8080(如果这只是一个测试,只是为了确认这不是防火墙问题,则为 0.0.0.0/0)。

2)检查容器是否正在运行:

docker ps -a

您应该在端口下看到:0.0.0.0:8080->80/tcp。

3) 检查当您发送 GET 请求时,是否在请求中指定了端口 8080,因此您的浏览器应如下所示:

http://your.ip:8080

或 curl :

curl http://your.ip:8080

关于amazon-web-services - 无法访问AWS EC2上的8080端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53136876/

相关文章:

docker - 调整 Docker 容器的大小

java - 您推荐使用什么 ec2 镜像 (ami) 来使用 java 5、jboss、mysql、apache?

java - AWS Java 删除使用 CreateImage 创建的快照

html - 将视频从 Controller 流式传输到 html5 视频播放器

python - Django、Heroku 和 Amazon 入门

python - 如何将 Python 3.6 设置为 Zappa 的默认版本?

linux - 无法推/拉到远程 docker 注册表

docker-compose 退出代码 141

java - Java 代码示例的 AWS RDS 快照

linux - 来自 Mac OS X 的 ssh 连接显示 ">"提示并停留在那里