Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
По умолчанию запросы, сделанные через браузер, к домену, который не соответствует домену источника страницы, блокируются. Чтобы избежать этого ограничения для служб, развернутых в контейнерных приложениях, можно включить CORS.
В этой статье показано, как включить и настроить CORS в приложении контейнера.
При включении CORS можно настроить следующие параметры:
| Параметр | Описание |
|---|---|
| Разрешить учетные данные | Указывает, следует ли возвращать Access-Control-Allow-Credentials заголовок. |
| Максимальный возраст | Настраивает Access-Control-Max-Age заголовок ответа, чтобы указать, сколько времени (в секундах) можно кэшировать результаты предварительного запроса CORS. |
| Допустимые источники | Список источников, разрешенных для запросов между источниками (например, https://www.contoso.com). Управляет заголовком Access-Control-Allow-Origin ответа. Используется * для разрешения всех. |
| Допустимые методы | Список методов HTTP-запроса, разрешенных в запросах между источниками. Управляет заголовком Access-Control-Allow-Methods ответа. Используется * для разрешения всех. |
| Допустимые заголовки | Список заголовков, разрешенных в запросах между источниками. Управляет заголовком Access-Control-Allow-Headers ответа. Используется * для разрешения всех. |
| Предоставление заголовков | По умолчанию не все заголовки ответов предоставляются клиентскому коду JavaScript в запросе между источниками. Открытые заголовки являются дополнительными серверами заголовков, которые могут включаться в ответ. Управляет заголовком Access-Control-Expose-Headers ответа. Используйте * для предоставления всех. |
| Свойство | Пояснение | Тип |
|---|---|---|
allowCredentials |
Указывает, следует ли возвращать Access-Control-Allow-Credentials заголовок. |
boolean |
maxAge |
Настраивает Access-Control-Max-Age заголовок ответа, чтобы указать, сколько времени (в секундах) можно кэшировать результаты предварительного запроса CORS. |
integer |
allowedOrigins |
Список источников, разрешенных для запросов между источниками (например, https://www.contoso.com). Управляет заголовком Access-Control-Allow-Origin ответа. Используется * для разрешения всех. |
массив строк |
allowedMethods |
Список методов HTTP-запроса, разрешенных в запросах между источниками. Управляет заголовком Access-Control-Allow-Methods ответа. Используется * для разрешения всех. |
массив строк |
allowedHeaders |
Список заголовков, разрешенных в запросах между источниками. Управляет заголовком Access-Control-Allow-Headers ответа. Используется * для разрешения всех. |
массив строк |
exposeHeaders |
По умолчанию не все заголовки ответов предоставляются клиентскому коду JavaScript в запросе между источниками. Открытые заголовки являются дополнительными серверами заголовков, которые могут включаться в ответ. Управляет заголовком Access-Control-Expose-Headers ответа. Используйте * для предоставления всех. |
массив строк |
Дополнительные сведения см. в справочнике по рабочей группе веб-гипертекстовых приложений (WHATWG) по допустимым http-ответам из запроса на получение.
Включение и настройка CORS
Перейдите в приложение-контейнер в портал Azure.
В меню параметров выберите CORS.
С включенным CORS можно добавлять, изменять и удалять значения для разрешенных источников, разрешенных методов, разрешенных заголовков и предоставления заголовков.
Чтобы разрешить любые допустимые значения для методов, заголовков или источников, введите * в качестве значения.
Примечание.
Обновления параметров конфигурации с помощью командной строки перезаписывают текущие параметры. Обязательно включите текущие параметры в любые новые значения CORS, которые вы хотите задать, чтобы обеспечить согласованность конфигурации.
Следующий код представляет форму, которую параметры CORS принимают в шаблон ARM при настройке приложения контейнера.
{
...
"properties": {
...
"configuration": {
...
"ingress": {
...
"corsPolicy": {
"allowCredentials": true,
"maxAge": 5000,
"allowedOrigins": ["https://example.com"],
"allowedMethods": ["GET","POST"],
"allowedHeaders": [],
"exposeHeaders": []
}
}
}
}
}