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

配置Turso数据库时遭遇HRANA_WEBSOCKET_ERROR(401)问题

解决Turso + Drizzle的HRANA_WEBSOCKET_ERROR 401认证问题

以下是针对你遇到的401认证错误的排查和解决步骤:

  • 核对.env变量准确性
    确保TURSO_DATABASE_URL是WebSocket协议开头(wss://),而非HTTP/HTTPS;TURSO_AUTH_TOKEN需与Turso控制台生成的令牌完全一致,不要包含多余空格、换行或引号。同时确认.env文件位于项目根目录,且drizzle.config.ts中正确读取了这些变量,示例配置:

    import { defineConfig } from "drizzle-kit";
    import * as dotenv from "dotenv";
    dotenv.config();
    
    export default defineConfig({
      schema: "./src/db/schema.ts",
      driver: "turso",
      dbCredentials: {
        url: process.env.TURSO_DATABASE_URL!,
        authToken: process.env.TURSO_AUTH_TOKEN!,
      },
    });
    
  • 重新生成Turso认证令牌
    用Turso CLI重新创建全权限令牌:

    turso db tokens create <你的数据库名称>
    

    将新生成的令牌替换.env中的TURSO_AUTH_TOKEN,避免旧令牌过期或权限不足。

  • 升级依赖版本
    当前使用的drizzle-kit v0.19.6和drizzle-orm v0.27.2可能与Turso的HRANA接口存在兼容性问题,升级到最新版本:

    bun add drizzle-orm@latest drizzle-kit@latest @libsql/client@latest
    
  • WSL2网络排查
    验证WSL2能否正常访问Turso的WebSocket服务,执行以下命令替换对应参数:

    curl -i -N -H "Authorization: Bearer <你的TURSO_AUTH_TOKEN>" wss://<你的数据库URL>
    

    如果连接失败,检查WSL2的网络防火墙设置,或尝试切换到WSL2桥接网络模式。

  • 对齐Drizzle Studio的连接参数
    既然Drizzle Studio能正常运行,对比它使用的数据库URL和令牌与项目.env中的值是否完全一致,排除复制粘贴时的字符遗漏或错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 09:21:11