Azure Container Apps için çıkış noktaları arası kaynak paylaşımını (CORS) yapılandırma

Varsayılan olarak, tarayıcı üzerinden sayfanın kaynak etki alanıyla eşleşmeyen bir etki alanına yapılan istekler engellenir. Container Apps'e dağıtılan hizmetler için bu kısıtlamayı önlemek için CORS'yi etkinleştirebilirsiniz.

Bu makalede, kapsayıcı uygulamanızda CORS'yi etkinleştirme ve yapılandırma işlemleri gösterilmektedir.

CORS'yi etkinleştirdikçe aşağıdaki ayarları yapılandırabilirsiniz:

Ayar Açıklama
Kimlik bilgilerine izin ver Üst bilginin döndürülip döndürülmeyeceğini Access-Control-Allow-Credentials gösterir.
En fazla yaş CorS uçuş öncesi isteğinin Access-Control-Max-Age sonuçlarının ne kadar süreyle (saniye) önbelleğe alınabileceğini belirtmek için yanıt üst bilgisini yapılandırır.
İzin verilen çıkış noktaları Çıkış noktaları arası istekler için izin verilen çıkış noktalarının listesi (örneğin, https://www.contoso.com). Access-Control-Allow-Origin Yanıt üst bilgisini denetler. Tümüne izin vermek için kullanın * .
İzin verilen yöntemler Çıkış noktaları arası isteklerde izin verilen HTTP isteği yöntemlerinin listesi. Access-Control-Allow-Methods Yanıt üst bilgisini denetler. Tümüne izin vermek için kullanın * .
İzin verilen üst bilgiler Çıkış noktaları arası isteklerde izin verilen üst bilgilerin listesi. Access-Control-Allow-Headers Yanıt üst bilgisini denetler. Tümüne izin vermek için kullanın * .
Üst bilgileri kullanıma sunma Varsayılan olarak, çıkış noktaları arası istekte tüm yanıt üst bilgileri istemci tarafı JavaScript koduna gösterilmez. Kullanıma sunulan üst bilgiler, sunucuların yanıta ekleyebileceğiniz ek üst bilgilerdir. Access-Control-Expose-Headers Yanıt üst bilgisini denetler. Tümünü kullanıma açmak için kullanın * .
Özellik Açıklama Tür
allowCredentials Üst bilginin döndürülip döndürülmeyeceğini Access-Control-Allow-Credentials gösterir. boolean
maxAge CorS uçuş öncesi isteğinin Access-Control-Max-Age sonuçlarının ne kadar süreyle (saniye) önbelleğe alınabileceğini belirtmek için yanıt üst bilgisini yapılandırır. integer
allowedOrigins Çıkış noktaları arası istekler için izin verilen çıkış noktalarının listesi (örneğin, https://www.contoso.com). Access-Control-Allow-Origin Yanıt üst bilgisini denetler. Tümüne izin vermek için kullanın * . dizeler dizisi
allowedMethods Çıkış noktaları arası isteklerde izin verilen HTTP isteği yöntemlerinin listesi. Access-Control-Allow-Methods Yanıt üst bilgisini denetler. Tümüne izin vermek için kullanın * . dizeler dizisi
allowedHeaders Çıkış noktaları arası isteklerde izin verilen üst bilgilerin listesi. Access-Control-Allow-Headers Yanıt üst bilgisini denetler. Tümüne izin vermek için kullanın * . dizeler dizisi
exposeHeaders Varsayılan olarak, çıkış noktaları arası istekte tüm yanıt üst bilgileri istemci tarafı JavaScript koduna gösterilmez. Kullanıma sunulan üst bilgiler, sunucuların yanıta ekleyebileceğiniz ek üst bilgilerdir. Access-Control-Expose-Headers Yanıt üst bilgisini denetler. Tümünü kullanıma açmak için kullanın * . dizeler dizisi

Daha fazla bilgi için bir getirme isteğinden gelen geçerli HTTP yanıtları üzerinde Web Köprü Metni Uygulama Teknolojisi Çalışma Grubu (WHATWG) başvurusuna bakın.

CORS'yi etkinleştirme ve yapılandırma

  1. Azure portalında kapsayıcı uygulamanıza gidin.

  2. Ayarlar menüsünün altında CORS'yi seçin.

    Azure portalında CORS'yi etkinleştirmeyi gösteren ekran görüntüsü.

CORS etkinleştirildiğinde İzin Verilen Kaynaklar, İzin Verilen Yöntemler, İzin Verilen Üst Bilgiler ve Üst Bilgileri Kullanıma Sunma değerlerini ekleyebilir, düzenleyebilir ve silebilirsiniz.

Yöntemler, üst bilgiler veya çıkış noktaları için kabul edilebilir değerlere izin vermek için değer olarak girin * .

Not

Komut satırı aracılığıyla yapılandırma ayarlarına yapılan güncelleştirmeler geçerli ayarlarınızın üzerine yazar. Yapılandırmanızın tutarlı kalmasını sağlamak için geçerli ayarlarınızı ayarlamak istediğiniz yeni CORS değerlerine eklediğinizden emin olun.

Aşağıdaki kod, kapsayıcı uygulamanızı yapılandırırken CORS ayarlarınızın arm şablonunda yer alan biçimini temsil eder.

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

Sonraki adımlar