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

Docker部署Dependency Track遭遇CORS问题求助

解决Dependency-Track Docker部署的CORS问题

1. 配置API容器的CORS参数

Dependency-Track的API服务本身支持CORS配置,需在docker-compose.yml的api服务节点中补充/确认以下环境变量:

  • - ALPINE_CORS_ENABLED=true(确保已取消注释)
  • - ALPINE_CORS_ORIGINS=http://XXX.XXX.X.XXX:8080(完全匹配前端的访问地址,包括协议、IP、端口)
  • - ALPINE_CORS_ALLOW_CREDENTIALS=true(若前端请求需要携带Cookie则开启)

注意:ALPINE_CORS_ORIGINS的值必须和前端页面的实际访问地址完全一致,不能多斜杠或拼写错误。

2. 检查前端容器的Nginx代理配置(可选)

如果前端通过Nginx反向代理访问API,需要修改nginx.conf的代理规则,添加CORS响应头:

location /api/ {
    proxy_pass http://api:8081/api/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
    # 配置CORS响应头
    add_header Access-Control-Allow-Origin http://XXX.XXX.X.XXX:8080;
    add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS";
    add_header Access-Control-Allow-Headers "Content-Type, Authorization";
    add_header Access-Control-Allow-Credentials true;

    # 预请求直接返回204
    if ($request_method = OPTIONS) {
        return 204;
    }
}

修改后需重启前端容器让配置生效。

3. 确认API_BASE_URL配置无误

确保前端容器的API_BASE_URL设置为http://XXX.XXX.X.XXX:8081,和API服务的实际访问地址完全匹配,检查IP、端口是否有拼写错误。

4. 重启所有容器

修改配置后执行以下命令重启容器,确保所有配置加载生效:

docker-compose down
docker-compose up -d

5. 验证CORS响应头

用浏览器开发者工具的「Network」标签查看/api/version请求的响应头,确认是否存在Access-Control-Allow-Origin且值与前端Origin匹配。若仍无该头,查看API容器日志,排查配置加载错误信息。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 17:33:12