CORS, ArcGIS 10.1 IIS (Çapraz Kaynak Kaynağı Paylaşımı) yayınladı


11

IIS için web bağdaştırıcısında ArcGIS 10.1 yüklü. Bu sayfaya göre Cross Origin Resource Sharing'i (CORS) etkinleştirmek için IIS7'nin köküne bir yapılandırma dosyası ekledim . Cors özellikli ArcGIS sunucusunu bu sayfaya göre varsayılan cors sunucuları listesine ittim :

esri.config.defaults.io.corsEnabledServers.push("vmagstenone")). 

Ancak, vmagsten'de barındırılan JavaScript uygulamam GIS sunucusuna (vmagstenone) bir istekte bulunduğunda hatayı alıyorum

"Origin http://vmagsten is not allowed by Access-Control-Allow-Origin.". 

Düzenleme: Ve özellik katmanı yüklenemiyor. Ayrıca dinamik bir katman yüklemeyi denedim ve bu da aynı hata _557 ile başarısız oluyor (resme bakın)

Düzenleme: Yukarıdaki adımlar sunucunun çapraz kökeni desteklediği anlamına gelmelidir bu hatayı görmemelisiniz. Bu deyim , bu sunucu Cors desteklemelidir beri bu hata göz ardı edilebileceğini ESRI tarafından bu durumda geçerli değildir. Bu, ESRI sunucusunda ilk hatanın göz ardı edilebileceği anlamına gelir.

resim açıklamasını buraya girin!

Düzenleme: İşte bu katmandaki bir sorgudan yanıtın Access-Control-Allow-Origin olduğunu gösteren örnek bir yanıt

resim açıklamasını buraya girin!


3
CORS tanımlamak isteyebilirsiniz, böylece GPS için kullanılan Sürekli Çalışan Referans İstasyonu'ndan değil, Kökeni Kaynak Paylaşımı'ndan bahsediyoruz .
Kirk Kuykendall

2
IIS'nizin CORS için gerekli Başlıkları döndürdüğünden emin misiniz?
Devdatta Tengshe

@DevdattaTengshe Yukarıdaki yazıyı düzenledim
David Wilton

Yanıtlar:


4

Hatayı aldığınızdan bahsediyorsunuz, ancak hizmet gerçekten yüklenemiyor mu?

Soruyorum, bu yazıyı Esri forumlarında gördüğüm gibi :

Bu hata güvenle göz ardı edilebilir. API'nin // rest / info adresine istek göndermeyeceği durumlar şunlardır: Tarayıcı CORS'leri desteklemiyor Sunucu zaten esri.config.defaults.io.corsEnabledServers esri.config.defaults.io içinde listelenmiştir .corsDetection yanlış JSONP aşağıdaki durumlarda kullanılır: Alınan kaynak uygulama ile aynı etki alanındadır Alınan kaynak CORS'yi destekleyen bir sunucuda

Diğer tarayıcı konsollarında da olduğunu varsayıyorum?

Değilse, bir yere çevrimiçi bir Fiddler günlüğü veya .HAR dosyası atayabilir (veya bana e-posta gönderebilir) ve bu yanıtı uygun şekilde düzenleyebilir misiniz?


Üzgünüm, bunu gördüğümü söylemeliydim. Hizmet yüklenemiyor. Hatayı Firefox'tan göndereceğim. IE'de başarısız değil
David Wilton

Sanırım ESRI bunların beklendiğini söylediği için ilk iki hatanın göz ardı edilmesi gerektiği konusunda haklısınız. Ancak, çerçeveden gelen _557 hatası sorun gibi görünüyor. 3.3 ve 3.4 sürümünde aynı hatayı alıyorum
David Wilton

1
Ayrıca bir özellik katmanı yerine dinamik bir katman kullanmayı denedim ve aynı sorunu var. Site verilerle aynı sunucuda barındırılıyorsa hata yoktur. Chrome.exe --disable-web-security (cors ilkesini zorunlu kılma) kullanarak istekler iyidir. Bu beni coors ve istek ile ilgili bir sorun olduğuna inandırıyor.
David Wilton

2

Yanıt bir Access-Control-Allow-Origin: *üstbilgi içermekle birlikte , aynı zamanda X-Frame-Options: SAMEORIGINve X-XSS-Protection: 1; mode=blocküstbilgileri de içerir . Bunlar standart olmayan X öneki başlıklarıdır, bu nedenle tarayıcınızın izin verilen üstbilgi üzerinden onurlandırdığından% 100 emin değilim.

Tarayıcı isteklerine üstbilgi eklemek ve kaldırmak için Fiddler gibi bir araç kullanabilirsiniz ; bu, neler olduğunu izlemenize yardımcı olabilir.


2

İşte IIS 8.0'da benim için çalışanlar. Bu, IIS'nin diğer sürümlerinde farklı olabilir.

customHeadersWeb sitesi kök yöneticisinin web.configdosyasını kaldırın veya web.configdosyayı tamamen silin .

Sonra uygulama ApplicationHost.configiçin IIS Yapılandırma Yöneticisi'nde geçiş yapın ve 'e ad ve değer arcgisekleyin .Access-Control-Allow-Origin*customHeaders

IIS 8.0 Yapılandırma Düzenleyicisi

CustomHeaders


1

Kaynaklar arası kaynak paylaşımına aşina değilim.
Web alanları arası politikayı kullanıyorum.
web alanları arası politika
Bunu da yapılandırdınız mı?


1
Evet ArcGIS sunucusu yüklemesi tarafından yapılandırılan crossdomain.xml clientaccesspolicy.xml dosyalarım var. Ancak, bu dosyaların Flex ve silverlight uygulamalarıyla (bağlantı) ilgili olduğunu düşünüyorum. Ben sadece JS bahsediyorum o temizlemek yapmak için soruyu düzenlemek olacaktır resources.arcgis.com/en/help/install-guides/arcgis-server/10.1/...
David Wilton

1

Ne nihayet benim için çalıştı için aşağıdaki ekleyerek olduğu KÖK site ve DEĞİL web adaptörü için uygulama . Mantıklı geliyor? Bana değil. Ama benim için çalıştı.

EDIT: Bu Web.config adlı DotNet proxy dosyasına gitmelidir.

<configuration>
  <...rest of file...>
    <system.webServer>
      <httpProtocol>
       <customHeaders>
         <add name="Access-Control-Allow-Origin" value="*" />
       </customHeaders>
      </httpProtocol>
    </system.webServer>
  </...rest of file...>
</configuration>

resim açıklamasını buraya girin


BU benim için işe yarayan cevaptı ... Neyin ayarlanması gerektiğini netleştirmek için cevabınızı düzenliyorum.
randomblink
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.