Python + Django 项目在阿里云上通过IP访问网页时提示“无法访问此网站”如何解决?
1、控制台安全组已进行端口开放 2、阿里云服务器也开放了端口 3、通过公网 ip:port 访问,网页提示:无法访问此网站 新手,第一次使用,百度了好久也没有解决, 谢谢!!!
Python + Django 项目在阿里云上通过IP访问网页时提示“无法访问此网站”如何解决?
额。。。
没发添加图片么。。
这个问题通常是阿里云安全组配置导致的。你需要检查两个地方:安全组规则和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
快速测试步骤:
- 先用
curl localhost:8000在服务器本地测试Django是否运行正常 - 检查阿里云安全组是否有入站规则
- 确认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 了 谢谢大家
兄弟你最后咋解决的我也是这个问题

