firebase - Firebase 托管重写未在 Google Cloud Run 上显示 SSR 内容
问题描述
为了服务器端渲染我的项目,我使用 Node.js 设置了一个 docker 容器。该容器在 Google 的 Container Registry 中注册并连接到 Cloud Run 的服务。当我使用提供的服务 URL 时,站点是 SSR,一切看起来都很好。
为了将项目与 firebase 连接,我编写了这个重定向:
"hosting": {
"public": "dist/browser",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"run": {
"serviceId": "nest-server-ssr",
"region": "europe-west1"
}
}
]
},
不幸的是,当我现在查看代码时,它不再呈现在服务器端。
有人遇到过类似的问题吗?
编辑:
正如迈克尔提到的,问题是第二个 index.html 文件。你可以看到这是送达的。(我添加了一个测试评论以确保)
所以解决方案只是从公共目录中删除您的 index.html 文件。感谢迈克尔的帮助!
解决方案
(猜测发生了什么)
如果您index.html
的dist/browser
文件夹中有一个并访问站点的根路径 ( /
),则将提供静态 HTML,而不是调用 Cloud Run 服务。
正如您在文档中看到的那样,“完全匹配”静态内容的优先级高于重写。
要解决这个问题,您只需index.html
从公共目录中删除您的文件。
推荐阅读
- postgresql - 如何从 postgresql 中的两个日期之间获取记录的周数?
- batch-file - 如何使用批处理文件将 Teraterm 记录到文本文件中
- yaml - swagger 没有呈现 requestbody
- c# - 来自文件的 xml 数据 POST
- .htaccess - apache 2.4中的htaccess重定向301不起作用
- assembly - MIPS 程序集中的 C++ 数组
- javascript - 使 Swiper Slider 的过渡单向
- jquery - 如何隐藏 DataTables 中某些列的输入字段?
- opengl - 创建带纹理的矩形失败
- php - 获取模态 PHP HTML 中的值