Configurar o CORS (compartilhamento de recursos entre origens) para Aplicativos de Contêiner do Azure
Por padrão, as solicitações feitas por meio do navegador para um domínio que não corresponde ao domínio de origem da página são bloqueadas. Para evitar essa restrição para serviços implantados em Aplicativos de Contêiner do Azure, você pode habilitar CORS.
Esse artigo mostra como habilitar e configurar o CORS no seu aplicativo de contêiner.
Ao habilitar o CORS, você pode configurar as seguintes configurações:
Configuração | Explicação |
---|---|
Permitir credenciais | Indica se o cabeçalho Access-Control-Allow-Credentials deve ser retornado. |
Idade máxima | Configura o cabeçalho de resposta Access-Control-Max-Age para indicar por quanto tempo (em segundos) os resultados de uma solicitação de pré-voo CORS podem ser armazenados em cache. |
Origens permitidas | Lista de origens permitidas para solicitações de origem cruzada (por exemplo, https://www.contoso.com ). Controla o cabeçalho de resposta Access-Control-Allow-Origin . Use * para permitir todos. |
Métodos permitidos | Lista de métodos de solicitação HTTP permitidos em solicitações de origem cruzada. Controla o cabeçalho de resposta Access-Control-Allow-Methods . Use * para permitir todos. |
Cabeçalhos permitidos | Lista de cabeçalhos permitidos em solicitações de origem cruzada. Controla o cabeçalho de resposta Access-Control-Allow-Headers . Use * para permitir todos. |
Expor cabeçalhos | Por padrão, nem todos os cabeçalhos de resposta são expostos ao código JavaScript do lado do cliente em uma solicitação de origem cruzada. Cabeçalhos expostos são cabeçalhos extras que os servidores podem incluir em uma resposta. Controla o cabeçalho de resposta Access-Control-Expose-Headers . Use * para expor tudo. |
Propriedade | Explicação | Tipo |
---|---|---|
allowCredentials |
Indica se o cabeçalho Access-Control-Allow-Credentials deve ser retornado. |
boolean |
maxAge |
Configura o cabeçalho de resposta Access-Control-Max-Age para indicar por quanto tempo (em segundos) os resultados de uma solicitação de pré-voo CORS podem ser armazenados em cache. |
Número inteiro |
allowedOrigins |
Lista de origens permitidas para solicitações de origem cruzada (por exemplo, https://www.contoso.com ). Controla o cabeçalho de resposta Access-Control-Allow-Origin . Use * para permitir todos. |
matriz de cadeias de caracteres |
allowedMethods |
Lista de métodos de solicitação HTTP permitidos em solicitações de origem cruzada. Controla o cabeçalho de resposta Access-Control-Allow-Methods . Use * para permitir todos. |
matriz de cadeias de caracteres |
allowedHeaders |
Lista de cabeçalhos permitidos em solicitações de origem cruzada. Controla o cabeçalho de resposta Access-Control-Allow-Headers . Use * para permitir todos. |
matriz de cadeias de caracteres |
exposeHeaders |
Por padrão, nem todos os cabeçalhos de resposta são expostos ao código JavaScript do lado do cliente em uma solicitação de origem cruzada. Cabeçalhos expostos são cabeçalhos extras que os servidores podem incluir em uma resposta. Controla o cabeçalho de resposta Access-Control-Expose-Headers . Use * para expor tudo. |
matriz de cadeias de caracteres |
Para obter mais informações, veja a referência do Web Hypertext Application Technology Working Group (WHATWG) sobre respostas HTTP válidas de uma solicitação de busca.
Habilitar e configurar CORS
Acesse o aplicativo de contêiner no portal do Azure.
No menu de configurações, selecione CORS.
Com o CORS habilitado, você pode adicionar, editar e excluir valores para Origens permitidas, Métodos permitidos, Cabeçalhos permitidos e Expor cabeçalhos.
Para permitir quaisquer valores aceitáveis para métodos, cabeçalhos ou origens, insira *
como valor.
Observação
Atualizações nas configurações via linha de comando substituem suas configurações atuais. Certifique-se de incorporar suas configurações atuais em quaisquer novos valores CORS que você deseja definir para garantir que sua configuração permaneça consistente.
O código a seguir representa o formato que suas configurações CORS assumem em um modelo ARM ao configurar seu aplicativo de contêiner.
{
...
"properties": {
...
"configuration": {
...
"ingress": {
...
"corsPolicy": {
"allowCredentials": true,
"maxAge": 5000,
"allowedOrigins": ["https://example.com"],
"allowedMethods": ["GET","POST"],
"allowedHeaders": [],
"exposeHeaders": []
}
}
}
}
}