Firebase Hosting переписывает на облачные функции - PullRequest
0 голосов
/ 13 октября 2019

Я хочу переписать все URL, заканчивающиеся на «api / (funcName)» для вызова облачной функции (funcName).

В firebase.json я установил правила перезаписи следующим образом.

"rewrites": [
  {
    "source": "api/:funcName",
    "function": ":funcName"
  },
  {
    "source": "**",
    "destination": "/index.html"
  }
] 

но это не работает.

Я получил

Ошибка: запрещено

У вашего клиента нет разрешения на получение URL /: funcName / api / (funcName) с этого сервера.

(funcName) - это реальное имя функции, которое я не хочу показывать здесь.

Ответы [ 2 ]

2 голосов
/ 13 октября 2019

Ваше переписывание должно включать точное название функции. Система перезаписи не поддерживает именованные маршруты с подстановочными знаками, как вы используете в Express. Если вы хотите подстановить все URL с префиксом, используйте синтаксис glob , поддерживаемый Firebase Hosting , как описано в документации.

  {
    "source": "api/**",
    "function": "funcName"
  },

Где «funcName» - это название вашей функциикак экспортируется вашим кодом.

1 голос
/ 13 октября 2019

Я не совсем уверен, как вы получили его, чтобы выдать это сообщение об ошибке, но из того, что я могу быстро увидеть, сообщение об ошибке исходит от облачных функций или от чего-то между Firebase Hosting и вашей облачной функцией.

Учитывая, откуда исходит сообщение об ошибке, Firebase Hosting не сможет скрыть его для ответа.

...