You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已配置部分参数仍无法让同网机器访问Django服务器,需补充哪些设置?

Django跨局域网访问问题排查与解决步骤

已完成的配置

  1. settings.py 配置
ALLOWED_HOSTS = ["127.0.0.1", "localhost", "TestPC-A" , "0.0.0.0", "192.25.56.120"]

# 不确定是否需要以下配置:
CSRF_TRUSTED_ORIGINS = [
    "http://127.0.0.1",
    "https://127.0.0.1",
    "http://localhost",
    "https://localhost",
    "https://TestPC-A",
    "http://TestPC-A",
]
  1. runserver.bat 启动脚本
@echo off
REM Activate virtual environment in the current terminal session and run server
cmd /k ".venv\Scripts\activate && python manage.py runserver_plus --cert-file cert.pem --key-file key.pem 0.0.0.0:8000"
  1. TestPC-A 本地hosts映射
192.25.56.120    TestPC-A

需要补充的设置

1. 配置访问端的hosts文件

仅在TestPC-A本地配置hosts无效,其他需要访问的电脑也需添加映射:

  • Windows:编辑C:\Windows\System32\drivers\etc\hosts,添加192.25.56.120 TestPC-A
  • Linux/macOS:编辑/etc/hosts,添加同样内容

2. 开放TestPC-A的Windows防火墙端口

Windows防火墙默认拦截外部对8000端口的请求,需手动放行:

  • 打开「Windows Defender防火墙」→「高级设置」→「入站规则」→「新建规则」
  • 选择「端口」,下一步,勾选「TCP」,输入本地端口8000
  • 选择「允许连接」,下一步,勾选适用的网络(至少包含「专用」)
  • 命名规则(如「Django 8000端口」)并完成创建

3. 完善CSRF_TRUSTED_ORIGINS配置

补充IP地址的HTTPS/HTTP条目,避免后续CSRF验证错误:

CSRF_TRUSTED_ORIGINS = [
    "http://127.0.0.1",
    "https://127.0.0.1",
    "http://localhost",
    "https://localhost",
    "https://TestPC-A",
    "http://TestPC-A",
    "https://192.25.56.120",
    "http://192.25.56.120",
]

4. 测试基础连通性

先在访问端验证网络和端口连通性:

  • 测试网络连通:ping 192.25.56.120,不通则排查局域网网段、路由器限制问题
  • 测试端口连通(PowerShell):Test-NetConnection 192.25.56.120 -Port 8000,若返回TcpTestSucceeded : True说明端口正常,否则检查防火墙或服务器监听配置

5. 处理HTTPS证书信任问题

若浏览器提示证书不安全,可选择两种方式:

  • 将TestPC-A上的cert.pem导入访问端浏览器的「受信任的根证书颁发机构」
  • 暂时改用HTTP测试:移除启动脚本中的--cert-file和--key-file参数,访问http://TestPC-A:8000/确认服务正常后再处理证书

内容的提问来源于stack exchange,提问作者user2201789

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 23:20:02