Partilhar via


Configurar o compartilhamento de recursos entre origens (CORS) para Aplicativos de Contêiner do Azure

Este artigo mostra como habilitar e configurar o CORS em seu aplicativo de contêiner em execução em um domínio para acessar recursos de um servidor em um domínio diferente. Por padrão, os navegadores bloqueiam essas solicitações de origem cruzada como medida de segurança. Quando precisar permitir que aplicativos cliente hospedados em domínios diferentes acessem seu aplicativo de contêiner, você poderá configurar o CORS para permitir explicitamente essas solicitações.

Ao habilitar o CORS, você pode definir 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 Access-Control-Max-Age resposta 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 das origens permitidas para pedidos de origens cruzadas (por exemplo, https://www.contoso.com). Controla o cabeçalho de resposta Access-Control-Allow-Origin. 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 de resposta de Access-Control-Allow-Methods. Use * para permitir tudo.
Cabeçalhos permitidos Lista dos cabeçalhos permitidos em solicitações de origem cruzada. Controla o cabeçalho de resposta Access-Control-Allow-Headers. 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 de resposta Access-Control-Expose-Headers. Use * para mostrar tudo.
Propriedade Explicação Tipo
allowCredentials Indica se o cabeçalho Access-Control-Allow-Credentials será retornado. boolean
maxAge Configura o cabeçalho de Access-Control-Max-Age resposta para indicar por quanto tempo (em segundos) os resultados de uma solicitação de pré-voo CORS podem ser armazenados em cache. inteiro
allowedOrigins Lista das origens permitidas para pedidos de origens cruzadas (por exemplo, https://www.contoso.com). Controla o cabeçalho de resposta Access-Control-Allow-Origin. Use * para permitir tudo. matriz de cadeias
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 tudo. matriz de cadeias
allowedHeaders Lista dos cabeçalhos permitidos em solicitações de origem cruzada. Controla o cabeçalho de 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 de Access-Control-Expose-Headers resposta. Use * para expor tudo. matriz de cadeias

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, em Rede, selecione CORS.

    Captura de ecrã a mostrar como ativar o CORS no portal do Azure.

Com o CORS habilitado, você pode adicionar, editar e excluir valores para Origens permitidas, Métodos permitidos, Cabeçalhos permitidos e Cabeçalhos expostos.

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

Nota

As atualizações das definições de configuração através da linha de comando substituem as suas definiçõ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 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": []
              } 
          } 
      } 
  } 
}

Próximos passos