Firebase重定向到已删除的函数



我是Firebase的新手,正在开发一个包含nuxtjs、Firestore、Firebase函数和Firebase托管的项目。我部署了一个名为"nuxtssr"的用于服务器端渲染的函数,它在部署后就工作了。但后来我注意到该函数的默认区域在美国。我想将该函数部署到欧洲西部,所以我删除了"nuxtssr"函数,并部署了一个新函数"nuxtssleurope",区域设置为欧洲西部。但在那之后,当我试图通过浏览器访问我的网站时,它会重定向到这个页面,要求验证自己。

https://accounts.google.com/ServiceLogin/webreauth?service=ah&passive=真&continue=https%3A%2F%2Appengine.google.com%2F_ah%2Conflogin%3Continue%3https%3A+2F%2Fus-central1-example.cloudfunctions.net%2Fnuxtssr%2F&flowName=GlifWebSignIn&flowEntry=服务登录

如您所见,重定向到我删除的函数"nuxtssr",该函数曾驻留在US Central。当我验证自己时,我会被重定向并从https://us-central1-example.cloudfunctions.net/nuxtssr/

错误:禁止

您的客户端没有从该服务器获取URL/nuxtssr/的权限。

我环顾四周,但找不到答案。是的,我检查了是否有错别字。这是我的功能:

const functions = require('firebase-functions')
const { Nuxt } = require('nuxt')
const express = require('express')
const app = express()
const config = {
dev: false
}
const nuxt = new Nuxt(config)
let isReady = false
const readyPromise = nuxt
.ready()
.then(() => {
isReady = true
})
.catch(() => {
process.exit(1)
})
async function handleRequest(req, res) {
if (!isReady) {
await readyPromise
}
res.set('Cache-Control', 'public, max-age=600, s-maxage=1200')
await nuxt.render(req, res)
}
app.get('*', handleRequest)
app.use(handleRequest)
exports.nuxtssrEurope = functions.region('europe-west1').https.onRequest(app)

我的firebase.json

{ "hosting": { "public": "public", "ignore": ["firebase.json", "**/.*", "**/node_modules/**"], "rewrites": [ { "source": "**", "function": "nuxtssrEurope" } ] } }

显然。云功能仅支持在us-central1上为Firebase主机提供动态内容,因此您不能使用其他服务器进行云功能。在我为我的云功能改回us-central1之后,它现在可以工作了。

如果您使用HTTP函数为Firebase Hosting提供动态内容,则必须使用us-central1。

https://firebase.google.com/docs/hosting/functions

相关内容

  • 没有找到相关文章

最新更新