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

Cisco Yang Suite远程访问HTTP 400错误:ALLOWED_HOSTS修改无效

解决Yang Suite远程访问HTTP 400 Bad Request问题

问题根源

你的配置逻辑优先读取环境变量DJANGO_ALLOWED_HOSTS,如果该环境变量存在,会直接覆盖你在else分支里设置的ALLOWED_HOSTS。另外,直接修改容器内的production.py属于临时修改,删除镜像重编排后会恢复默认配置,导致修改不生效。

解决方案

方法1:通过环境变量配置(推荐,灵活易维护)

Yang Suite的Docker部署支持通过环境变量配置ALLOWED_HOSTS,找到启动用的bash脚本或docker-compose.yml文件,按以下方式修改:

  • 修改启动脚本:在脚本中添加环境变量声明
    export DJANGO_ALLOWED_HOSTS="localhost enauto.homelab.com 192.168.1.51"
    
  • 修改docker-compose.yml:在yangsuite服务块中添加环境变量
    services:
      yangsuite:
        environment:
          - DJANGO_ALLOWED_HOSTS=localhost enauto.homelab.com 192.168.1.51
    

修改完成后重启服务:

docker-compose down
docker-compose up -d

方法2:修改配置文件并重新构建镜像

如果必须通过修改production.py实现,需确保修改后的文件被打包进镜像:

  1. 找到本地Yang Suite仓库中的production.py文件(不是容器内的临时文件)
  2. 修正配置写法(改为列表格式,符合Django规范):
    if 'DJANGO_ALLOWED_HOSTS' in os.environ:
        ALLOWED_HOSTS = os.getenv('DJANGO_ALLOWED_HOSTS', 'localhost').split()
    else:
        ALLOWED_HOSTS = ['localhost','enauto.homelab.com','192.168.1.51']
    
  3. 重新构建镜像并启动服务:
    docker-compose build yangsuite
    docker-compose up -d
    

验证步骤

启动后查看容器日志,确认不再出现DisallowedHost错误,然后从远程机器访问https://enauto.homelab.com:8443测试是否正常加载前端页面。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 03:21:01