CORS अंक 10.1 IIS (क्रॉस ओरिजिनल रिसोर्स शेयरिंग)


11

मेरे पास ArcGIS 10.1 है जो IIS के लिए वेब एडेप्टर के साथ स्थापित है। मैंने इस पृष्ठ के अनुसार क्रॉस ओरिजिनल रिसोर्स शेयरिंग (कोर) को सक्षम करने के लिए IIS7 के रूट में एक कॉन्फिगर फाइल जोड़ी है । मैंने आर्कजीस सर्वर को इस पृष्ठ के अनुसार डिफ़ॉल्ट कॉर्स सर्वर की सूची में सक्षम cors धक्का दिया है :

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

हालाँकि, जब मेरे जावास्क्रिप्ट एप्लिकेशन को जो vmagsten पर होस्ट किया गया है, वह GIS सर्वर (vmagstenone) के लिए एक अनुरोध करता है, तो मुझे त्रुटि मिलती है

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

संपादित करें: और फीचर लेयर लोड करने में विफल रहता है। मैंने एक डायनामिक लेयर लोड करने की भी कोशिश की है और यह भी उसी त्रुटि के साथ विफल हो जाती है _557 (चित्र देखें)

संपादित करें: मुझे इस त्रुटि को नहीं देखना चाहिए क्योंकि उपरोक्त चरणों का मतलब यह होना चाहिए कि सर्वर क्रॉस मूल का समर्थन करता है। Esri द्वारा यह कथन कि इस त्रुटि को अनदेखा किया जा सकता है, इस मामले में लागू नहीं होता है क्योंकि इस सर्वर को cors का समर्थन करना चाहिए। इसका मतलब यह है कि ESRI सर्वर में पहली त्रुटि को नजरअंदाज किया जा सकता है।

यहाँ छवि विवरण दर्ज करें!

संपादित करें: यहां इस परत पर एक क्वेरी से एक नमूना प्रतिक्रिया है, जिसमें दिखाया गया है कि प्रतिक्रिया में प्रवेश-नियंत्रण-अनुमति-उत्पत्ति है

यहाँ छवि विवरण दर्ज करें!


3
आप कॉर्स को परिभाषित करना चाह सकते हैं, ताकि यह स्पष्ट हो कि हम क्रॉस ओरिजिन रिसोर्स शेयरिंग के बारे में बात कर रहे हैं न कि एक कॉन्टिन्यूअसली ऑपरेटिंग रेफरेंस स्टेशन , जो जीपीएस के लिए उपयोग किया जाता है।
कर्क कुक्केंडल

2
क्या आपने यह सुनिश्चित किया है कि आपका IIS कोर के लिए आवश्यक हेडर लौटा रहा है?
देवदत्त तेंग्शे

@DevdattaTengshe मैंने ऊपर पोस्ट संपादित की है
डेविड विल्सन

जवाबों:


4

आप उल्लेख करते हैं कि आपको त्रुटि मिलती है, लेकिन क्या सेवा वास्तव में लोड करने में विफल रहती है?

मैं पूछता हूं, जैसा कि मैंने इस पोस्ट को Esri मंचों पर देखा है जिसमें कहा गया है:

इस त्रुटि को सुरक्षित रूप से अनदेखा किया जा सकता है। ऐसे मामले हैं जहां एपीआई // आराम / जानकारी के लिए अनुरोध नहीं भेजेंगे और निम्नानुसार हैं: ब्राउज़र कॉर्स का समर्थन नहीं करता है। सर्वर पहले से ही esri.config.defaults.io.corsEnabledServers esri.config.defaults.io में सूचीबद्ध है। .corsDetection गलत है JSON का उपयोग JSONP के बजाय निम्न मामलों में किया जाता है: संसाधन का उपयोग किया जा रहा है एक ही डोमेन पर है क्योंकि अनुप्रयोग द्वारा प्राप्त किया जा रहा संसाधन किसी सर्वर पर है जो CORS का समर्थन करता है

मुझे लगता है कि यह अन्य ब्राउज़र कंसोल में भी होता है?

यदि नहीं, तो आप एक फिडलर लॉग या .HAR फ़ाइल को ऑनलाइन कहीं फेंक सकते हैं (या मुझे इसे ईमेल कर सकते हैं), और इस उत्तर को उसके अनुसार संपादित करें।


माफ करना, मुझे इसका उल्लेख करना चाहिए था। सेवा लोड करने में विफल रहती है। मैं फ़ायरफ़ॉक्स से त्रुटि पोस्ट करूंगा। यह IE में विफल नहीं होता है
डेविड विल्सन

मुझे लगता है कि आप शायद सही हैं कि पहले दो त्रुटियों को नजरअंदाज किया जाना चाहिए क्योंकि ईएसआरआई कहते हैं कि ये अपेक्षित हैं। हालाँकि, फ्रेम से आ रही त्रुटि _557 समस्या प्रतीत होती है। मुझे संस्करण 3.3 और 3.4 में समान त्रुटि मिलती है
डेविड विल्टन

1
मैंने एक फीचर लेयर के बजाय एक डायनामिक लेयर का उपयोग करने की कोशिश की है और इसमें भी यही समस्या है। यदि साइट उसी सर्वर पर होस्ट की जाती है जैसे डेटा में कोई त्रुटि नहीं है। Chrome.exe --disable-web-security (cors policy को लागू न करना) का उपयोग करके अनुरोध ठीक हैं। यह वही है जो मुझे विश्वास दिलाता है कि यह अंगारों और अनुरोध के साथ एक मुद्दा है।
डेविड विल्सन

2

प्रतिक्रिया जिनमें एक करता है Access-Control-Allow-Origin: *हैडर, यह भी शामिल है X-Frame-Options: SAMEORIGINऔर X-XSS-Protection: 1; mode=blockहेडर। ये एक्स-प्रीफ़िक्स हेडर हैं, जो गैर-मानक हैं , इसलिए मुझे 100% यकीन नहीं है कि यदि आपका ब्राउज़र उन्हें अनुमति हेडर पर सम्मानित कर रहा है।

ब्राउज़र अनुरोधों से हेडर जोड़ने और हटाने के लिए आप फ़िडलर जैसे टूल का उपयोग कर सकते हैं ; इससे आपको यह पता लगाने में मदद मिल सकती है कि क्या हो रहा है।


2

यहाँ IIS 8.0 में मेरे लिए क्या काम किया गया है। यह IIS के अन्य संस्करणों पर भिन्न हो सकता है।

या तो customHeadersवेबसाइट रूट डायरेक्टरी की web.configफाइल को हटा दें या web.configफाइल को पूरी तरह से हटा दें ।

फिर आवेदन के ApplicationHost.configलिए IIS कॉन्फ़िगरेशन प्रबंधक में स्विच करें arcgisऔर इसमें Access-Control-Allow-Originनाम और *मान जोड़ें customHeaders

IIS 8.0 कॉन्फ़िगरेशन संपादक

CustomHeaders


1

मैं क्रॉस-ऑरिजनल रिसोर्सेज शेयरिंग से परिचित नहीं हूं।
मैं क्रॉस-डोमेन नीति का उपयोग करता हूं।
क्रॉस डोमेन नीति
क्या आपके पास भी कॉन्फ़िगर है?


1
हाँ, मेरे पास दोनों crossdomain.xml है, जैसा कि ArcGIS सर्वर इंस्‍टॉल द्वारा कॉन्फ़िगर किया गया है। हालांकि, यह मेरी समझ है कि ये फाइलें फ्लेक्स और सिल्वरलाइट एप्लिकेशन (लिंक) से संबंधित हैं। मैं यह स्पष्ट करने के लिए प्रश्न संपादित करूंगा कि मैं JS के बारे में केवल संसाधनों पर
डेविड विल्टन

1

आखिरकार मेरे लिए जो काम किया गया है, वह ROOT साइट के लिए निम्नलिखित है और वेब एडॉप्टर के लिए आवेदन नहीं है । क्या इस का कोई मतलब निकलता है? मुझे नहीं। लेकिन इसने मेरे लिए काम किया।

EDIT: यह डॉटनेट प्रॉक्सी फाइल में जाना चाहिए जिसे Web.config कहा जाता है।

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

यहाँ छवि विवरण दर्ज करें


यह वह उत्तर था जो मेरे लिए काम करता था ... मैं आपके उत्तर को संपादित कर रहा हूं ताकि यह स्पष्ट किया जा सके कि क्या समायोजित करने की आवश्यकता है।
रैंडमब्लिंक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.