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
Azure portalında kapsayıcı uygulamanıza gidin.
Ayarlar menüsünün altında CORS'yi seçin.
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": []
}
}
}
}
}