Compartilhar via


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, você pode habilitar o CORS.

Este artigo mostra como habilitar e configurar o CORS em seu aplicativo de contêiner.

Ao habilitar o CORS, você pode definir as seguintes configurações:

Configuração Explicação
Permitir credenciais Indica se o cabeçalho deve ser retornado Access-Control-Allow-Credentials .
Idade máxima Configura o Access-Control-Max-Age cabeçalho de resposta para indicar por quanto tempo (em segundos) os resultados de uma solicitação de pré-voo do CORS podem ser armazenados em cache.
Origens permitidas Lista das origens permitidas para pedidos de origem cruzada (por exemplo, https://www.contoso.com). Controla o cabeçalho da Access-Control-Allow-Origin resposta. Use * para permitir tudo.
Métodos permitidos Lista de métodos de solicitação HTTP permitidos em solicitações de origem cruzada. Controla o cabeçalho da Access-Control-Allow-Methods resposta. Use * para permitir tudo.
Cabeçalhos permitidos Lista dos cabeçalhos permitidos em solicitações de origem cruzada. Controla o cabeçalho da Access-Control-Allow-Headers resposta. Use * para permitir tudo.
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. Os cabeçalhos expostos são cabeçalhos extras que os servidores podem incluir em uma resposta. Controla o cabeçalho da Access-Control-Expose-Headers resposta. Use * para expor tudo.
Propriedade Explicação Tipo
allowCredentials Indica se o cabeçalho deve ser retornado Access-Control-Allow-Credentials . boolean
maxAge Configura o Access-Control-Max-Age cabeçalho de resposta para indicar por quanto tempo (em segundos) os resultados de uma solicitação de pré-voo do CORS podem ser armazenados em cache. Número inteiro
allowedOrigins Lista das origens permitidas para pedidos de origem cruzada (por exemplo, https://www.contoso.com). Controla o cabeçalho da Access-Control-Allow-Origin resposta. Use * para permitir tudo. 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 da Access-Control-Allow-Methods resposta. Use * para permitir tudo. matriz de cadeias de caracteres
allowedHeaders Lista dos cabeçalhos permitidos em solicitações de origem cruzada. Controla o cabeçalho da Access-Control-Allow-Headers resposta. Use * para permitir tudo. 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. Os cabeçalhos expostos são cabeçalhos extras que os servidores podem incluir em uma resposta. Controla o cabeçalho da Access-Control-Expose-Headers resposta. Use * para expor tudo. matriz de cadeias de caracteres

Para obter mais informações, consulte 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 o CORS

  1. Vá para seu aplicativo de contêiner no portal do Azure.

  2. No menu de configurações, selecione CORS.

    Screenshot showing how to enable CORS in the Azure portal.

Com o CORS habilitado, você pode adicionar, editar e excluir valores para Origens Permitidas, Métodos Permitidos, Cabeçalhos Permitidos e Cabeçalhos Expor.

Para permitir quaisquer valores aceitáveis para métodos, cabeçalhos ou origens, insira * como o valor.

Observação

As atualizações das definições de configuração por meio da linha de comando substituem as 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 a forma que suas configurações de CORS tomam 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": []
              } 
          } 
      } 
  } 
}

Próximas etapas