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

Airflow 1.10调用DAG触发API遇403 Forbidden错误求助

解决Airflow 1.10 API调用403 Forbidden问题

以下是针对该场景的排查与修复步骤:

  • 确认配置修改后已重启Airflow服务
    修改airflow.cfg中的auth_backend后,必须重启Airflow webserver和scheduler才能让配置生效。根据部署方式执行对应命令:

    # 后台启动方式
    airflow webserver -D
    airflow scheduler -D
    
    # systemd服务方式
    sudo systemctl restart airflow-webserver
    sudo systemctl restart airflow-scheduler
    
  • 验证Basic Auth的正确性
    避免手动构造Authorization头,直接用curl的--user参数自动处理编码逻辑:

    curl --user your_username:your_password -X POST http://your_airflow_host:8080/api/experimental/dags/your_dag_id/dag_runs -H "Content-Type: application/json" -d '{"conf": {}}'
    

    若该命令执行成功,说明Postman中可能存在Authorization头编码错误,建议在Postman中重新添加Basic Auth,让工具自动生成头信息,不要手动输入编码后的字符串。

  • 检查API端点路径是否正确
    Airflow 1.10使用的是实验性API,触发DAG的正确POST路径为:

    /api/experimental/dags/<YOUR_DAG_ID>/dag_runs
    

    切勿混淆为Airflow 2.x的稳定版API路径(/api/v1/dags/...),路径错误可能直接导致403或404错误。

  • 检查用户权限配置
    确保使用的账号具备触发DAG的权限:

    1. 登录Airflow Web UI,进入Admin > Users
    2. 查看对应用户的权限组,确认其属于Admin组,或拥有can_dag_trigger、can_dag_read等相关权限。
  • 查看Webserver日志定位具体原因
    查看Airflow webserver的日志文件(默认路径为$AIRFLOW_HOME/logs/webserver),查找403错误对应的详细日志,例如:

    • 认证失败的具体原因(如用户名密码不匹配)
    • 权限不足的明确提示
      日志信息可快速定位问题根源。
  • 检查CSRF配置(可选)
    Airflow 1.10默认开启CSRF保护,但实验性API通常会豁免CSRF检查。若遇到CSRF相关错误,可在airflow.cfg的[webserver]部分添加或修改:

    csrf.exempt_views = airflow.api.experimental.endpoints,airflow.api.experimental.call_endpoint
    

    修改后重启webserver即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 04:15:31