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

AWX WebSocket认证问题求助:JavaScript应用Token连接失败

AWX WebSocket 认证问题解决方案

针对你遇到的AWX WebSocket认证失败问题,给你几个可行的解决方向:

1. 确认查询参数的正确用法

AWX WebSocket支持通过token查询参数传递认证令牌,但注意不要携带Bearer前缀,只需要传入纯token值:

// 正确示例
const wsUrl = 'ws://localhost:30380/websocket/?token=你的纯access_token值';
const socket = new WebSocket(wsUrl);

你之前的尝试如果是把Bearer <token>整个放进参数里,就会导致认证失败——AWX期望的是原始的access_token字符串,而非带前缀的完整授权头内容。

2. 验证token的有效性

先确认你的token处于有效激活状态:

  • 调用AWX的API接口 /api/v2/tokens/,用你的Bearer Token发起请求,查看返回的token详情,确认expires时间未过期,且scope包含WebSocket所需的权限。

3. 非浏览器环境下通过请求头传递

如果是Node.js等非浏览器环境,可以使用WebSocket库(比如ws)直接在请求头中携带Authorization信息:

const WebSocket = require('ws');

const socket = new WebSocket('ws://localhost:30380/websocket/', {
  headers: {
    'Authorization': 'Bearer 你的token值'
  }
});

// 监听连接状态
socket.on('open', () => {
  console.log('WebSocket连接成功');
});

socket.on('error', (err) => {
  console.error('连接失败:', err);
});

注意:浏览器原生WebSocket API不支持自定义请求头,所以这种方法仅适用于服务端或Electron等特殊环境。

4. 排查AWX配置与日志

如果以上方法都无效,建议:

  • 检查AWX的CORS配置,确保允许你的前端域名发起WebSocket请求
  • 查看AWX的日志文件(通常在/var/log/tower/目录下),找到WebSocket连接的错误日志,比如401错误的具体原因,能更精准定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 08:10:04