gpt4 book ai didi

firebase - 使用 Firebase 托管托管 Google Cloud Run 会引发混合内容错误

转载 作者:行者123 更新时间:2023-12-05 06:14:42 25 4
gpt4 key购买 nike

我有一个 Python(带有 uvicorn 的 FastAPI)应用程序在 Google Cloud Run(完全托管版本)上的 Docker 容器中运行。我还有一个单独的网络应用程序在 Firebase 上运行,它使用 Firebase 托管。我想使用 Firebase 托管将 Cloud Run 容器与 Firebase 应用集成。我按照 https://firebase.google.com/docs/hosting/cloud-run 中的说明设置了托管配置.

"rewrites": [
{
"source": "/api/**",
"run": {
"serviceId": "myapp",
"region": "us-central1"
}
},
{
"source": "**",
"destination": "/index.html"
}
]

我的 Firebase 应用使用以下代码调用 API

const requestOptions = {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({payload : payload, temperature: temperature})
}

fetch('/api/generate', requestOptions)...

但是,当我尝试这样做时,我从浏览器控制台收到以下错误:

Mixed Content: The page at 'https://mydomain.web.app/' was loaded over HTTPS, but requested an insecure resource 'http://myapp-somerandomhash-uc.a.run.app/api/generate'. This request has been blocked; the content must be served over HTTPS.

(假设 Firebase 应用托管在 https://mydomain.web.app 上,Cloud Run 应用托管在 https://myapp-somerandomhash-uc.a.run.app 上)

当前行为:

  1. Firebase 应用调用 https://mydomain.web.app/api/generate
  2. Firebase 托管将其重定向到 http://myapp-somerandomhash-uc.a.run.app/api/generate
  3. (我收到上述错误)
  4. Cloud Run 容器应用再次将其重定向到 https://myapp-somerandomhash-uc.a.run.app/api/generate

期望的行为:

  1. Firebase 应用调用 https://mydomain.web.app/api/generate
  2. 无需显式重定向或重定向到 https 版本即可获得响应

来自 Cloud Run 的日志:

INFO: 169.254.8.129:21990 - "POST /api/generate HTTP/1.1" 307 Temporary Redirect
POST 307 314 B 8ms Chrome 83 https://myapp-somerandomhash-uc.a.run.app/api/generate

关于如何解决这个问题有什么建议吗?


最佳答案

我设法解决了我的问题。我的开发环境对尾部斜杠不敏感,所以我错过了 .../api/generate/和 ../api/generate 之间的不匹配。因此,在修复此不匹配后,一切都按预期工作。

我不完全确定我的堆栈的哪一部分导致了提到的错误,但至少对于 Cloud Run(FastAPI + uvicorn)和 Firebase Hosting 尾部斜杠似乎很重要。

关于firebase - 使用 Firebase 托管托管 Google Cloud Run 会引发混合内容错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62758219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com