Python + Django 项目在阿里云上通过IP访问网页时提示“无法访问此网站”如何解决?

1、控制台安全组已进行端口开放 2、阿里云服务器也开放了端口 3、通过公网 ip:port 访问,网页提示:无法访问此网站 新手,第一次使用,百度了好久也没有解决, 谢谢!!!


Python + Django 项目在阿里云上通过IP访问网页时提示“无法访问此网站”如何解决?
30 回复

额。。。
没发添加图片么。。


这个问题通常是阿里云安全组配置导致的。你需要检查两个地方:安全组规则和Django的ALLOWED_HOSTS设置。

1. 安全组配置(阿里云控制台) 登录阿里云ECS控制台,找到你的实例,检查安全组规则:

  • 确保80端口(HTTP)或443端口(HTTPS)已对0.0.0.0/0开放
  • 如果使用其他端口(比如8000),也需要相应开放

2. Django配置(settings.py

# 允许所有IP访问(生产环境不推荐)
ALLOWED_HOSTS = ['*']

# 或指定你的服务器IP
ALLOWED_HOSTS = ['your-server-ip', 'localhost']

# 开发环境运行(绑定到所有接口)
python manage.py runserver 0.0.0.0:8000

3. 防火墙检查 如果服务器有iptables或firewalld,也需要开放相应端口:

# CentOS 7+
sudo firewall-cmd --permanent --add-port=8000/tcp
sudo firewall-cmd --reload

# Ubuntu/Debian
sudo ufw allow 8000

快速测试步骤:

  1. 先用curl localhost:8000在服务器本地测试Django是否运行正常
  2. 检查阿里云安全组是否有入站规则
  3. 确认Django运行在0.0.0.0而不是127.0.0.1

一句话建议:先检查阿里云安全组规则,再确认Django配置和防火墙设置。

SSH 里面 cURL 能访问吗

把图片发到微博,获取图片的 URL,直接在主题或者回复里填写 URL 即可自动显示图片

只要搞清楚“无法访问网站”是谁提示的,问题就解决了


[rootizbp19ibadra7wqjsinkriz ~]# curl 47...:8000
curl: (7) Failed connect to 47.
..:8000; Connection refused
访问不了。

好的 我试下。

端口没放对吧,反向代理到 80 试试

1、阿里云控制台 端口开放

2、服务器端口查看

3、运行 web 服务

4、公网 ip:端口 访问

麻烦看下#8 楼

麻烦看下#8 楼

把你的实例加到这个安全策略组里面, 现在默认不加

Django development server 默认只能本地访问吧。

你看下#8 上面,我应该加了吧。

监听 127.0.0.1 只能本地访问啊
你要不 nginx 反代一下

对啊,我在服务器上 通过 curl 127.0.0.1:8000 能够获取请求,但是用公网 ip+端口就不行了


127.0.0.1:8000 访问的

还得 nginx 反向代理么?
我参考的是这个 github 来做的
https://github.com/divio/django-cms

改成 0.0.0.0:8000

间听到非 lo 地址或者反代到非 lo 地址上

所以说你们这些做写业务的综合知识就是需要补充 [捂脸哭

控制台 --> ECS --> 安全组 --> 管理实例 --> 查看是否已经把当前实例添加进去了

setting 加上这个 ALLOWED_HOSTS = [‘*’]

你看看 manage.py 是不是 allowed_host 里限制了 localhost 访问

貌似已经能够连通了,感觉奇奇怪怪的,我在看下其他问题。

已经有了 谢谢

好的 改了 可以访问了 谢谢

码白打了

楼上有解决方案

被 1800s 了。
好了 已经 ok 了 谢谢大家

兄弟你最后咋解决的我也是这个问题

回到顶部