我正在尝试将Firebase Hosting用于连接到Cloud Run的CDN。昨天我正在为 eu-west1 地区进行测试,一切顺利。今天,我尝试执行相同的操作,但对于区域 eu-west4 却收到错误消息,该区域不受支持。 我切换到 eu-west1 并成功。
不支持此错误或区域eu-west4吗?
=== Deploying to 'xxxxxxxx'...
i deploying hosting
Error: HTTP Error: 400, Cloud Run region `europe-west4` is not supported.
"rewrites": [
{
"source": "**",
"run": {
"serviceId": "web-client",
"region": "europe-west4"
}
}
],
与新的东南亚地区相同
Error: HTTP Error: 400, Cloud Run region `asia-southeast1` is not supported.
答案 0 :(得分:1)
此info的以下是有关重写的详细信息:
Firebase托管起源于 us-central1 ,因此在部署云运行时,建议选择us-central1区域,以降低First Contentful Paint分数或快速加载您的网站,但会削弱附近的优势地区可用性目的(对Google迷们来说真的很不幸)。
示例:如果您的位置是印度,则最近的云运行时间是 asia-southeast1 新加坡,我们无法选择 asia-southeast1
请求路径如下:
您→印度(CDN)→美国(Firebase)→Signapore(CloudRun + aync致电Firestore India)→美国→CDN→您(在延迟方面确实很差)。 / p>
您→印度(CDN)→美国(Firebase)→美国us-central1(CloudRun + aync致电Firestore印度)→美国→CDN→您
(静态页面将加载FAST,但是就延迟而言,webapp上的Firestore动态数据将以REALLY BAD加载数据,我们应为Firestore选择 us-central1 ,这也没有使用您的本地该地区的GCP产品真是奇怪,因为Firebase托管至少在至少美国,欧洲和亚太地区不可用。
结论(到此日期):
Fire Run Hosting的Cloud Run区域重写问题存在很多区域,但是,为了获得最佳页面加载结果,我们应该选择 us-central1 ,这真的很不幸,这与Rewrite Issue相比是真正的问题,为避免非美国用户的网站Firestore延迟,我们应该使用云运行/云功能缓存控制,这样数据将缓存在您的本地/区域CDN附近以快速加载数据(我们无法使用Firebase Web SDK,因为CDN缓存无法通过如果使用SDK,则应在firebase / cloud run中使用Cloud函数)
Firebase Hosting to Cloud Run重写可用性(截至2020年8月31日)
可用:
us-central1, us-east1, 亚洲东北1, 欧洲西部1
不可用 Asia-east1, 欧洲北部1, 欧洲西部4, us-east4, us-west1, 亚洲东南1
如果您所在的地区不可用,请提交feature request,以确保Firebase重写可用性。至少对于美国,欧洲和亚太地区而言,Cloud Run和Firebase托管不可用。
仅供参考:如果使用多区域Firestore是锁定的Firebase托管和 us-central1
的云运行区域的修复程序,则Cloud Firestore multi-region也不适用于亚洲地区(如果您获得对上述任何区域的重写访问权限,请发表评论)
答案 1 :(得分:0)
我实际上设法找到一种“修复”此问题的方法。我将区域更改为europe-west4
,而不是以前的europe-west1
,并“解决”了我的部署问题。