浏览器中 AWS EC2 站点连接超时故障排除

浏览器中 AWS EC2 站点连接超时故障排除

我是 AWS 新手,正在使用免费套餐测试个人 Django 项目。但是,当我尝试访问 IP 地址时,浏览器出现超时错误。该站点在本地运行,通过无线或有线连接访问时显示超时错误。

我设置网站的方式是使用 Bitnami DjangoStack,服务器通过./manage.py runserver 0.0.0.0:8080 我还将可用的 IP 地址绑定到现有的公共 DNS 名称来运行。TCP 端口 80 作为 HTTP 开放,源为 0.0.0.0/0。

我执行netstat -aon并得到了输出

tcp        0      0 10.4.89.232:22          141.114.79.244:38928    ESTABLISHED keepalive (3582.28/0/0)
tcp        0    272 10.4.89.232:22          141.114.79.244:40393    ESTABLISHED on (0.21/0/0)

这两个地址是来自我的站点访问请求,我使用的IP地址和端口是80、8080,但是还是会出现超时的情况。

源代码和数据库是通过

  • 克隆带有站点源代码的 git 存储库
  • 将 mysql 转储导入数据库
  • 已修改settings.py以反映新的数据库凭证
  • runserver在服务器 shell 中执行命令

服务器日志中没有显示任何错误。 nmap产生

nmap -P0 -p80 54.2**.***.*

Starting Nmap 5.21 ( http://nmap.org ) at 2013-08-27 10:32 EDT
Nmap scan report for ec2-54-2**-***-*.compute-1.amazonaws.com (54.2**.***.*)
Host is up.
PORT   STATE    SERVICE
80/tcp filtered http

Nmap done: 1 IP address (1 host up) scanned in 2.08 seconds

答案1

您说您正在使用 AWS...在这种情况下,安全组是“陷阱”。配置安全组以允许您想要的端口,它应该可以工作。

答案2

根据 Bitnami Django 堆栈文档这里,如果您使用其控制脚本启动服务器ctl.sh,则应用程序将在端口 8080 上运行。如果使用runserver,则应用程序默认在端口 8000 上运行。

访问该应用程序的最简单方法是打开端口 8080(或 8000,如果你已经使用过runserver安全组并以以下方式访问应用程序http://ec2-54-2**-***-*.compute-1.amazonaws.com:8080

其他方法包括更改 Apache 配置以在端口 80 上运行,或者运行 HAProxy 或 Nginx 将请求反向代理到此服务器。

答案3

设置安全组可以解决问题。

安全组 > 入站 > 编辑入站规则 > 添加新规则 > 所有 TCP

图片细节如下 在此处输入图片描述

相关内容