【问题标题】:Access Django admin from Firebase从 Firebase 访问 Django 管理员
【发布时间】:2021-04-04 19:59:40
【问题描述】:

我有一个网站,它有一个托管在 Firebase 上的 React 前端和一个托管在 Google Cloud Run 上的 Django 后端。我有一个 Firebase 重写规则,它将我的所有 API 调用指向 Cloud Run 实例。但是,我无法使用指向 Firebase 的自定义域中的 Django 管理面板。

我尝试了两种不同版本的重写规则-

      "rewrites": [
        {
          "source": "/**",
          "run": {
            "serviceId": "serviceId",
            "region": "europe-west1"
          }
        },
        {
          "source": "**",
          "destination": "/index.html"
        }
      ]

--- 和 ---

      "rewrites": [
        {
          "source": "/api/**",
          "run": {
            "serviceId": "serviceId",
            "region": "europe-west1"
          }
        },
        {
          "source": "/admin/**",
          "run": {
            "serviceId": "serviceId",
            "region": "europe-west1"
          }
        },
        {
          "source": "**",
          "destination": "/index.html"
        }
      ]

当我转到url.com/admin/ 时,我可以看到登录页面,但是我无法继续前进。它只是用空的电子邮件/密码字段刷新页面并且没有错误消息。仅供参考,这与我的用户名和密码无关,因为我已经测试了管理面板,并且在使用 Cloud Run url 直接访问它时可以正常工作。

任何帮助将不胜感激。

【问题讨论】:

    标签: django firebase firebase-hosting google-cloud-run


    【解决方案1】:

    当我尝试使用 Firebase 重写规则登录时,我实际上并没有找到为什么管理员登录页面只是刷新的答案,但是我想到了一种使用我的自定义域访问管理面板的替代方法。

    我已向 Cloud Run 实例添加了一个自定义域,以便使用我的站点域的子域,我可以使用 admin.customUrl.com 而不是 customUrl.com/admin/ 访问管理面板。

    【讨论】: