【发布时间】:2019-10-24 01:37:38
【问题描述】:
我有一个提供静态文件的 express 容器,它在本地构建和部署时可以完美运行。但是,当我构建并将其部署到 Cloud Run 时,会返回动态 html,但 css 文件等静态资产是 404。Cloud Run 是否有任何已知限制可能导致这个难以诊断的问题?
【问题讨论】:
-
难道不是 Cloud Run 用于提供微服务/REST 服务,因此提供静态数据是一个糟糕的选择吗? Cloud Run 不是无状态请求吗?从 GCS 提供静态数据不是更好吗?我想知道问题是否也可能因为返回的 URL 不包含动态 PORT 值而出现?
-
使用 Docker 或 Podman 在本地机器上运行相同的容器。如果您有同样的问题,那么您知道这不是 Cloud Run。我已经部署了数百个 Cloud Run 服务。据我所知,没有任何事情会导致 Cloud Run 出现问题。
-
@Kolban - 返回的 URLS 不需要动态端口号。只有应用程序的监听器需要动态端口。
-
是的,从 express 提供静态服务在 prod 中是个坏主意。这是为了开发。
-
这可能是一篇相关的有用文章...medium.com/google-cloud/…您能否发布一个链接或示例到说明性食谱和脚本?如果无法访问这些人,我们无法说出问题可能出在哪里。如果我们可以尝试进行微不足道的重建,那将是理想的。也许一个(尽可能简单地)说明问题的极简主义应用程序可能会对我们有所帮助。