已在Cloudflare Pages正确配置supabase_service_role_key,仍遇500错误或后端崩溃?
变量名与代码引用不匹配:检查代码中读取变量的语句(比如
process.env.SUPABASE_SERVICE_ROLE_KEY),确保和Cloudflare Pages中设置的变量名完全一致(包括大小写、下划线数量),Cloudflare环境变量的引用严格区分大小写。变量值存在格式错误:确认粘贴的service role key没有多余的空格、换行或缺失字符——复制时尽量直接从Supabase控制台复制完整字符串,避免手动输入或部分复制。
未重新部署项目:Cloudflare Pages的环境变量变更后,必须重新触发部署才能将新变量注入到项目中,仅修改变量而不重新部署会导致旧构建版本仍使用无效的变量值。
变量作用范围配置错误:如果是在Serverless Functions中使用该key,需确保在Cloudflare Pages的变量设置中,将变量的作用范围设为「Available in the dashboard and functions」,而非仅构建时可用;仅构建时变量无法在运行时的函数中被读取。
本地.env文件覆盖配置:若项目本地存在
.env或.env.production等环境文件,且其中包含同名变量,构建时会优先使用本地文件中的值,导致Cloudflare的配置被忽略——需删除本地文件中对应的无效变量,或确保本地值与Cloudflare配置一致。Cloudflare缓存残留:旧的构建缓存可能保留了无效的变量数据,尝试在部署时勾选「清除缓存并重新构建」选项,确保新变量完全生效。
Supabase key本身失效:登录Supabase控制台检查该service role key是否已被重置、撤销,或账号权限是否发生变更——若key失效,即使配置正确也会导致权限验证失败,进而触发500错误。
内容的提问来源于stack exchange,提问作者Imbeka Musa

