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

使用Deno Fresh和Supabase Postgres,如何在Deno Deploy中配置--cert flag?

在Deno Deploy中配置Supabase Postgres证书的方案

Deno Deploy不支持通过--cert命令行flag配置证书,你可以直接在代码中通过环境变量加载证书内容,替代本地的命令行配置方式,具体步骤如下:

1. 准备Supabase CA证书

从Supabase控制台的数据库设置页面,下载对应项目的CA证书,复制证书的完整文本内容。

2. 在Deno Deploy中添加环境变量

进入你的Deno Deploy项目设置,添加一个名为SUPABASE_CA_CERT的环境变量,将刚才复制的证书内容粘贴进去。

3. 在代码中配置证书

根据你使用的客户端类型,选择对应配置方式:

使用Supabase JS客户端

import { createClient } from "https://esm.sh/@supabase/supabase-js@2";

const supabase = createClient(
  Deno.env.get("SUPABASE_URL")!,
  Deno.env.get("SUPABASE_ANON_KEY")!,
  {
    db: {
      ssl: {
        ca: Deno.env.get("SUPABASE_CA_CERT")!,
      },
    },
  }
);

使用Postgres原生客户端

import { Client } from "https://deno.land/x/postgres@v0.17.0/mod.ts";

const client = new Client({
  user: Deno.env.get("SUPABASE_DB_USER")!,
  password: Deno.env.get("SUPABASE_DB_PASSWORD")!,
  database: Deno.env.get("SUPABASE_DB_NAME")!,
  hostname: Deno.env.get("SUPABASE_DB_HOST")!,
  port: 5432,
  ssl: {
    ca: Deno.env.get("SUPABASE_CA_CERT")!,
  },
});

await client.connect();

说明

Deno Deploy的运行环境默认信任主流CA颁发的证书,Supabase Postgres的证书通常已被信任,但如果你的场景需要自定义证书,上述方法可以完美替代本地的--cert配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 06:57:10