• 局域网内其他主机无法ip访问我的django网页


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 2301_77251217 2024-05-20 16:53 采纳率: 33.3% 浏览 5 首页/ 后端 / 局域网内其他主机无法ip访问我的django网页 django 我的django在执行python manage.py runserver 0.0.0.0:8000后,ALLOWED_HOSTS也设置为"*"且入站规则也添加了tcp 8000端口,为什么局域网内的其他主机仍然无法访问,该怎么解决 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    5条回答 默认 最新

    • 阿里嘎多学长 2024-05-20 16:54
      关注

      以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


      【您想要解决的问题】:您提问的目的是解决局域网内其他主机无法通过IP地址访问您运行的Django网页的问题。

      【问题出现原因】:

      1. 防火墙设置:尽管您已添加了TCP 8000端口的入站规则,但可能存在其他防火墙设置阻止了访问。
      2. 网络配置:局域网内的其他主机可能没有正确配置网络,或者Django服务器所在的主机没有正确地加入到局域网中。
      3. Django服务器配置:Django服务器可能没有正确地监听所有网络接口,或者存在其他配置问题。
      4. 网络隔离:局域网可能存在网络隔离,导致某些主机无法访问特定IP或端口。

      【问题解决方案】:

      1. 检查防火墙设置:确保防火墙规则允许从局域网内的其他主机到Django服务器的8000端口的TCP流量。
      2. 网络配置:检查网络配置,确保Django服务器和访问它的主机在同一网络段上,并且没有网络隔离。
      3. Django服务器监听:确保Django服务器正确地监听所有网络接口(0.0.0.0)。
      4. 日志检查:查看Django的运行日志和服务器的系统日志,看是否有错误信息或访问尝试的记录。

      【提供代码】: 由于问题可能与网络配置和防火墙设置有关,而不是Django代码本身,因此没有特定的代码修改建议。但是,确保您的runserver命令如下所示,以允许所有网络接口访问:

      python manage.py runserver 0.0.0.0:8000
      

      【代码运行方式】:

      1. 确保Django项目的环境已正确配置。
      2. 在命令行中运行上述runserver命令。
      3. 确保防火墙规则已正确设置。

      【代码预期运行结果】: 如果配置正确,局域网内的其他主机应该能够通过浏览器访问http://:8000

      【推荐相关链接】:

      1. Django官方文档 - runserver
      2. Windows防火墙设置
      3. Linux防火墙设置
      4. 局域网配置指南
      5. 网络隔离解决方案

      展开全部

      评论 编辑记录
    • 专家-赤兔[在线] 全栈领域优质创作者 2024-05-20 16:54
      关注

      检查防火墙设置,确保8000端口对外开放。

      以上回复有部分引自免费微信小程序:皆我百晓生。 如问题尚未解决,还请稍待,如有疑问请回复进一步沟通。

      评论
    • Kwan的解忧杂货铺 2024-05-20 16:54
      关注

      下午好🌅🌅🌅
      本答案参考ChatGPT-3.5

      问题分析:

      1.执行python manage.py runserver 0.0.0.0:8000,0.0.0.0即所有ip地址都可以访问,所以首先要检查端口是否被使用,并且当前ip地址是否正确。

      2.检查ALLOWED_HOSTS是否为'*',*表示接受所有的主机名,如果ALLOWED_HOSTS设置错误,将会收到connection refused错误。

      3.检查防火墙规则是否正确,确保端口已经被允许通过防火墙。

      解决方案:

      1. 检查防火墙规则是否正确,确认 8000 端口已被允许通过防火墙。
      2. 修改 ALLOWED_HOSTS 的设置,将其修改为局域网内其他主机的 IP 地址或者设置为 '*'。
      3. 使用当前主机的 IP 地址作为访问地址,例如 192.168.1.100:8000,这可以避免 DNS 解析导致的访问异常。
      4. 检查当前计算机所连接的网络是否为 NAT 网络,如果是需要进行端口映射/端口转发。
      5. 检查局域网内其他主机是否可以访问网络。
      评论
    • 专家-百锦再@新空间代码工作室 全栈领域优质创作者 2024-05-20 16:54
      关注

      首先,为了确保可以通过局域网访问django项目,可以尝试以下几个步骤:

      1. 确保django项目的运行正常,可以在本地浏览器中通过访问http://127.0.0.1:8000来验证。

      2. 确保防火墙配置正确,确保8000端口是开放的,并且允许局域网内的其他主机访问。

      3. 在django项目的settings.py文件中,确保ALLOWED_HOSTS设置正确,可以设置为"
        *"
        来允许所有主机访问或者设置为局域网内的IP地址。

      4. 在运行django项目时,使用命令python manage.py runserver 0.0.0.0:8000来监听局域网的访问。

      如果以上步骤都已经尝试过,并且还是无法访问,可以尝试通过终端telnet命令来测试端口是否可以访问。比如在命令行输入telnet your_ip_address 8000来测试8000端口是否可以连接。

      如果仍然无法解决问题,可以尝试查看django项目的日志信息,看是否有报错信息提示,或者尝试在终端中启动django项目来查看详细的输出信息。


      有问题你别着急,评论留言都可以,看到马上就回复,尽量及时补充齐
      评论
    • 流华追梦 2024-05-20 18:47
      关注

      执行python manage.py runserver 0.0.0.0:8000,0.0.0.0即所有ip地址都可以访问,所以首先要检查端口是否被使用,并且当前ip地址是否正确。

      评论
    编辑
    预览

    报告相同问题?

  • 相关阅读:
    【Java】泛型 之 使用泛型
    绿色工厂申报流程
    [SpringBoot-vue3]用户登录实现JWT单点登录/ThreadLocal保存用户信息
    力扣每日一题
    K近邻算法(KNN)原理整理小结
    【c++】跟webrtc学容器:有序
    java版Spring Cloud+SpringBoot+mybatis+uniapp 之golang 协程的实现原理
    Python学习基础笔记二十二——生成器
    活动目录(Active Directory)管理工具
    微信机器人开发
  • 原文地址:https://ask.csdn.net/questions/8106435