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

Deno连接Supabase Postgres遇TLS证书版本不兼容错误

解决Deno DB连接Supabase Postgres时的TLS证书版本错误

问题分析

你遇到的UnsupportedCertVersion错误,是因为Deno Deploy环境的TLS客户端与Supabase Postgres服务器的证书版本不兼容,导致连接自动降级为非加密模式。虽然当前能正常创建记录,但非加密连接存在安全风险,必须修复。

另外注意:你的代码里有一处明显错误——获取数据库密码时误写为Deno.env.get('DENODB_HOST'),应该改为Deno.env.get('DENODB_PASSWORD'),当前可能通过DENODB_PGURL绕过了这个问题,但后续如果切换到参数配置模式会直接导致连接失败。

解决方案

1. 升级Deno DB到最新版本

旧版本的denodb可能存在TLS配置兼容性问题,先更新依赖的denodb版本:

// 替换为最新版denodb链接(可按需确认当前最新版本号)
import { Database, PostgresConnector } from "https://deno.land/x/denodb@v1.4.0/mod.ts";

2. 显式配置SSL参数

在PostgresConnector中添加SSL配置,强制使用兼容的TLS版本,并指定正确的SSL模式:

export const connection = (() => {
  const DENODB_PGURL = Deno.env.get('DENODB_PGURL');

  if (DENODB_PGURL) {
    // 确保连接URL包含sslmode参数,强制启用SSL
    const pgUrlWithSsl = DENODB_PGURL.includes('sslmode') 
      ? DENODB_PGURL 
      : `${DENODB_PGURL}?sslmode=require`;
    return new PostgresConnector({uri: pgUrlWithSsl});  
  }

  const DENODB_HOST = Deno.env.get('DENODB_HOST');
  if (!DENODB_HOST) throw new Error('DENODB_HOST is not set');
  const DENODB_USERNAME = Deno.env.get('DENODB_USERNAME');
  if (!DENODB_USERNAME) throw new Error('DENODB_USERNAME is not set');
  const DENODB_PASSWORD = Deno.env.get('DENODB_PASSWORD'); // 已修正之前的错误
  if (!DENODB_PASSWORD) throw new Error('DENODB_PASSWORD is not set');
  const DENODB_DATABASE = Deno.env.get('DENODB_DATABASE');
  if (!DENODB_DATABASE) throw new Error('DENODB_DATABASE is not set');
  
  return new PostgresConnector({
    host: DENODB_HOST,
    username: DENODB_USERNAME,
    password: DENODB_PASSWORD,
    database: DENODB_DATABASE,
    ssl: {
      enabled: true,
      mode: 'require',
      // 强制使用兼容的TLS版本,避免证书版本不兼容问题
      minVersion: 'TLSv1.2'
    }
  });
})()

3. 确认Supabase连接信息正确性

确保使用的Supabase连接URL或主机地址正确:Supabase Postgres主机格式通常为db.<project-id>.supabase.co,端口默认5432,且必须通过SSL连接。

验证修复

将修改后的代码部署到Deno Deploy,检查日志是否不再出现TLS错误提示,同时确认数据库的创建、查询等操作依然正常执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 02:24:29