Konfigurace sdílení prostředků mezi zdroji (CORS) pro Azure Container Apps

Ve výchozím nastavení jsou požadavky provedené v prohlížeči do domény, která neodpovídá původní doméně stránky, blokované. Abyste se tomuto omezení vyhnuli u služeb nasazených v Container Apps, můžete CORS povolit.

V tomto článku se dozvíte, jak povolit a nakonfigurovat CORS v aplikaci kontejneru.

Při povolení CORS můžete nakonfigurovat následující nastavení:

Nastavení Vysvětlení
Povolit přihlašovací údaje Určuje, zda se má záhlaví vrátit Access-Control-Allow-Credentials .
Maximální věk Nakonfiguruje hlavičku Access-Control-Max-Age odpovědi tak, aby indikovala, jak dlouho (v sekundách) se dají výsledky předběžné žádosti CORS uložit do mezipaměti.
Povolené zdroje Seznam původů povolených pro žádosti mezi zdroji (například https://www.contoso.com). Řídí hlavičku Access-Control-Allow-Origin odpovědi. Umožňuje * povolit vše.
Povolené metody Seznam metod požadavků HTTP povolených v požadavcích mezi zdroji Řídí hlavičku Access-Control-Allow-Methods odpovědi. Umožňuje * povolit vše.
Povolené hlavičky Seznam hlaviček povolených v požadavcích mezi zdroji Řídí hlavičku Access-Control-Allow-Headers odpovědi. Umožňuje * povolit vše.
Zveřejnění hlaviček Ve výchozím nastavení nejsou všechny hlavičky odpovědi zpřístupněny kódu JavaScriptu na straně klienta v požadavku mezi zdroji. Vystavené hlavičky jsou další servery hlaviček, které můžou být součástí odpovědi. Řídí hlavičku Access-Control-Expose-Headers odpovědi. Slouží * k zveřejnění všech.
Vlastnost Vysvětlení Type
allowCredentials Určuje, zda se má záhlaví vrátit Access-Control-Allow-Credentials . boolean
maxAge Nakonfiguruje hlavičku Access-Control-Max-Age odpovědi tak, aby indikovala, jak dlouho (v sekundách) se dají výsledky předběžné žádosti CORS uložit do mezipaměti. integer
allowedOrigins Seznam původů povolených pro žádosti mezi zdroji (například https://www.contoso.com). Řídí hlavičku Access-Control-Allow-Origin odpovědi. Umožňuje * povolit vše. pole řetězců
allowedMethods Seznam metod požadavků HTTP povolených v požadavcích mezi zdroji Řídí hlavičku Access-Control-Allow-Methods odpovědi. Umožňuje * povolit vše. pole řetězců
allowedHeaders Seznam hlaviček povolených v požadavcích mezi zdroji Řídí hlavičku Access-Control-Allow-Headers odpovědi. Umožňuje * povolit vše. pole řetězců
exposeHeaders Ve výchozím nastavení nejsou všechny hlavičky odpovědi zpřístupněny kódu JavaScriptu na straně klienta v požadavku mezi zdroji. Vystavené hlavičky jsou další servery hlaviček, které můžou být součástí odpovědi. Řídí hlavičku Access-Control-Expose-Headers odpovědi. Slouží * k zveřejnění všech. pole řetězců

Další informace naleznete v referenční dokumentaci webové technologie technologie hypertextu (WHATWG) o platných odpovědích HTTP z požadavku na načtení.

Povolení a konfigurace CORS

  1. Přejděte do aplikace kontejneru na webu Azure Portal.

  2. V nabídce nastavení vyberte CORS.

    Screenshot showing how to enable CORS in the Azure portal.

S povoleným CORS můžete přidávat, upravovat a odstraňovat hodnoty povolených zdrojů, povolených metod, povolených hlaviček a zpřístupňovat hlavičky.

Chcete-li povolit všechny přijatelné hodnoty pro metody, hlavičky nebo původy, zadejte * jako hodnotu.

Poznámka:

Aktualizace nastavení konfigurace prostřednictvím příkazového řádku přepíše vaše aktuální nastavení. Nezapomeňte aktuální nastavení začlenit do všech nových hodnot CORS, které chcete nastavit, aby vaše konfigurace zůstala konzistentní.

Následující kód představuje formulář, který nastavení CORS při konfiguraci aplikace kontejneru převezme v šabloně ARM.

{ 
  ... 
  "properties": { 
      ... 
      "configuration": { 
         ... 
          "ingress": { 
              ... 
              "corsPolicy": { 
                "allowCredentials": true,
                "maxAge": 5000,
                "allowedOrigins": ["https://example.com"], 
                "allowedMethods": ["GET","POST"], 
                "allowedHeaders": [], 
                "exposeHeaders": []
              } 
          } 
      } 
  } 
}

Další kroky