Aracılığıyla paylaş


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

Bu makalede, farklı bir etki alanındaki bir sunucudan kaynaklara erişmek için tek bir etki alanında çalışan kapsayıcı uygulamanızda CORS'yi etkinleştirme ve yapılandırma işlemleri gösterilmektedir. Tarayıcılar varsayılan olarak bu tür çıkış noktaları arası istekleri güvenlik önlemi olarak engeller. Farklı etki alanlarında barındırılan istemci uygulamalarının kapsayıcı uygulamanıza erişmesine izin vermeniz gerektiğinde, CORS'yi bu isteklere açıkça izin verecek şekilde yapılandırabilirsiniz.

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

Ayar Açıklama
Kimlik bilgilerine izin ver Üst bilginin döndürülüp döndürülmeyeceğini Access-Control-Allow-Credentials belirtir.
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ökenler Kökenler arası istekler için izin verilen kökenlerin 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 Kaynaklar arası isteklerde izin verilen üst bilgilerin listesi. Access-Control-Allow-Headers Yanıt üst bilgisini denetler. Tümüne izin vermek üzere * kullanın.
Üst bilgileri açığa çıkarmak Varsayılan olarak, kaynaklar arası istekte tüm yanıt üst bilgileri istemci tarafı JavaScript koduna açığa çıkarılmaz. Sunucuların yanıta ekleyebileceği ekstra üst bilgiler "Exposed headers" olarak adlandırılır. Access-Control-Expose-Headers Yanıt üst bilgisini denetler. Tümünü göstermek için * kullanın.
Özellik Açıklama Tür
allowCredentials Access-Control-Allow-Credentials üst bilgisinin döndürülüp döndürülmeyeceğini 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. tam sayı
allowedOrigins Çıkış noktaları arası istekler için izin verilen kaynakları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. stringler 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 * . string dizisi
allowedHeaders Çapraz kaynak isteklerinde 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, kaynaklar arası istekte tüm yanıt üst bilgileri istemci tarafı JavaScript koduna gösterilmez. Sunucuların yanıta ekleyebileceği ilave üst bilgiler, açığa çıkarılan üst bilgilerdir. Access-Control-Expose-Headers Yanıt üst bilgisini denetler. * kullanarak tümünü kullanıma açın. string dizisi

Daha fazla bilgi için, bir getirme isteğiyle gelen geçerli HTTP yanıtları hakkında Web Köprü Metni Uygulama Teknolojisi Çalışma Grubu (WHATWG) referansına bakın.

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

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

  2. Ayarlar menüsünde, altında CORS'u 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