มากกว่า

เหตุใด ArcGIS API ในพื้นที่สำหรับ JavaScript ผ่าน https เรียกคำขอข้อมูลผ่าน http

เหตุใด ArcGIS API ในพื้นที่สำหรับ JavaScript ผ่าน https เรียกคำขอข้อมูลผ่าน http


ฉันได้รับ esri js api 3.14 ที่ปรับใช้บนเซิร์ฟเวอร์และแอปพลิเคชันที่สามารถเข้าถึงได้ผ่าน https

ตอนนี้ฉันได้รับสคริปต์พร็อกซีที่ส่งคำขอแผนที่

เมื่อคุณดูคำขอของหน้า คุณจะเห็นว่ามีคำขอเดียว (คำขอข้อมูลไปยังส่วนต่อประสานที่เหลือ) ที่ส่งตรงไปยังเซิร์ฟเวอร์ภายใน

เบราว์เซอร์ Chrome พูดว่า:

Firefox พูดว่า:

ฉันเพิ่มกฎสคริปต์พร็อกซีดังนี้:

urlUtils.addProxyRule ({ urlPrefix: "http://srvutdemo102/arcgis/rest/services/utjsc_de/Grundkarte", proxyUrl: "ESRI_proxy.jsp" });

เป็นไปได้ไหมที่จะบอกให้ js-api ใช้พร็อกซีสคริปต์สำหรับคำขอข้อมูล "เริ่มต้น" นี้


หากคุณต้องการแบ่งปันบริการของคุณในแอปพลิเคชันที่ใช้ HTTPS คุณควรกำหนดค่าเซิร์ฟเวอร์ ArcGIS ให้รองรับได้ดีกว่าการใช้พร็อกซีเพื่อพยายาม 'ปลอมแปลง'

http://blogs.esri.com/esri/arcgis/2015/03/11/sharing-web-gis-services-always-enable-tls/

ที่กล่าวว่าขอข้อมูลเป็นการตรวจสอบการสนับสนุน CORS ดังนั้นหากคุณรู้ว่าเซิร์ฟเวอร์รองรับ CORS แล้ว (หรือคุณไม่จำเป็นต้องใช้) คุณสามารถข้ามการส่งคำขอโดยโทร

esriConfig.defaults.io.corsEnabledServers.push("[เซิร์ฟเวอร์.โดเมน]");

ตัวอย่างที่นี่


กฎพร็อกซีของคุณระบุ URL คำนำหน้า

http://srvutdemo102/arcgis/rest/services/utjsc_de/Grundkarte

แต่ในแท็บเครือข่ายเครื่องมือ dev ของ Chrome คำขอแรกคือ

http://srvutdemo102/arcgis/rest/info?f=json

… ซึ่งไม่ตรงกับคำนำหน้า หากคุณแก้ไข URL บทบาทพร็อกซีของคุณเป็นhttp://srvutdemo102/arcgis/restฉันคิดว่าคุณจะประสบความสำเร็จมากขึ้น


ดูวิดีโอ: Create WebMap Using ArcGIS Javascript API Part 2 Map and View