Настройка CORS для Firebase Storage
При развертывании веб-приложения на собственном домене домен и ведро Firebase Storage размещаются на разных серверах. В результате браузер будет блокировать запросы к ведру Firebase Storage из вашего веб-приложения, поскольку источники (домены и порты) этих двух серверов различаются.
Что такое CORS?
CORS расшифровывается как Cross-Origin Resource Sharing (обмен ресурсами между разными источниками). Это механизм, который позволяет указать, какие источники имеют доступ к вашим ресурсам. Настройка CORS позволяет сообщить браузеру, что ваше веб-приложение может выполнять запросы к ведру Firebase Storage, даже если эти два сервера размещены на разных доменах.
Чтобы настроить CORS для вашего ведра Firebase Storage, выполните следующие шаги:
-
Откройте Консоль Google Cloud.
-
Запустите Cloud Shell:
Нажмите на значок Activate Cloud Shell в правом верхнем углу.

Дождитесь загрузки терминала.
-
Выполните следующую команду:
gcloud config set project your-firebase-project-id; -
Определите и загрузите файл cors.json:
Файл
cors.jsonсодержит список источников, которым разрешен доступ к вашим ресурсам. Каждый источник представляет собой строку, идентифицирующую домен или порт. Например, следующий источник разрешает доступ с доменаwww.example.com:"origins": ["https://www.example.com"]Вы также можете указать список разрешенных заголовков. В следующем примере разрешен доступ к заголовкам
Content-TypeиAuthorization:"origins": ["https://www.example.com"], "allowedHeaders": ["Content-Type", "Authorization"]Чтобы разрешить доступ к вашему ресурсу с любого источника, используйте
*. Файлcors.jsonниже разрешает доступ с любого источника, но не позволяет изменять ресурсы.[
{
"origin": ["*"],
"method": ["GET"],
"maxAgeSeconds": 3600
}
]После определения файла
cors.jsonзагрузите его в Консоль Google Cloud.
Чтобы убедиться, что файл загружен правильно, выполните
lsв консоли — вы должны увидеть файлcors.jsonв списке. -
Выполните команду
corsдля настройки CORS:gcloud storage buckets update gs://your-google-storage-bucket-name --cors-file=cors.json -
(Необязательно) Подтвердите успешную настройку, просмотрев CORS ведра
Выполните следующую команду, чтобы убедиться, что правила из файла
cors.jsonприменены.gcloud storage buckets describe gs://your-google-storage-bucket-name --format="default(cors_config)"Вы должны увидеть те же разрешенные источники и другую информацию, определенную в файле
cors.json.
Подробные сведения о настройке CORS в Firebase Storage см. в официальной документации.