प्रदान करने वाले सर्वर के साथ DOM अपवाद 18 मैं सर्वर प्रेषित ईवेंट (एसएसई) प्रदान करता है जो सर्वर से ब्राउज़र कनेक्ट करने का प्रयास कर रहा हूं। इस सर्वर के मूल की तुलना में एक अलग डोमेन है। उदाहरण के लिए यदि आप http://d1.example.com/page
पर कॉल करते हैं तो यह पृष्ठ http://d2.example.com/subscribe
पर एक एसएसई चैनल से कनेक्ट करने का प्रयास करेगा। लाइन परएसएसई असहज त्रुटि: SECURITY_ERR: सर्वर प्रेषित ईवेंट (एसएसई)
Uncaught Error: SECURITY_ERR: DOM Exception 18
: करने के लिए कि निम्न त्रुटि संकेत देगा कोशिश कर रहा
var source = new EventSource("http://d2.example.com/subscribe")
मुझे लगता है कि कैसे तय कर सकते हैं?
अद्यतन (समाधान है कि मैं बाहर की कोशिश की है):
1- CORS
मैं अपने वेब सेवा d2.example.com
के हेडर को Access-Control-Allow-Origin:*
जोड़कर CORS की कोशिश की। यह EventSource
समस्या हल नहीं किया गया है, भले ही $.get("http://d2.example.com")
d1.example.com
पृष्ठों से कॉल अभी ठीक काम कर रहे हैं! मैंने सोचा कि एसएसई सामान्य HTTP अनुरोधों पर काम करता है, तो यह क्रोम पर क्यों काम नहीं कर रहा है?
2 पुन: निर्देशित
मैं httpd सर्वर का उपयोग कर रहा है, इसलिए मैं d1.example.com
वर्चुअल होस्ट कि d2.example.com
करने SSE अनुरोध गुजरता में एक रीडायरेक्ट नियम बनाया। यह फ़ायरफ़ॉक्स के साथ पूरी तरह से काम किया। दूसरी तरफ क्रोम ने कोई त्रुटि नहीं दी और एसएसई सर्वर से कनेक्ट नहीं किया। ऐसा लगता है कि यह पूरे EventSource
कमांड को छोड़ दिया गया। यह, इस समाधान कभी काम नहीं करेगा की तरह लग रहा इतने पर स्थानांतरित करने देता है ...
3 रिवर्स प्रॉक्सी
दोनों d1.example.com/subscribe
पर जुड़ा हुआ जो मूल रूप से रिवर्स प्रॉक्सी के माध्यम से d2.example.com
से जुड़ रहा है ब्राउज़रों। लेकिन on_close
ईवेंट कभी पकड़ा नहीं जाता है, भले ही ब्राउजर बंद हो। जो समझ में आता है क्योंकि डी 2 सर्वर अब प्रॉक्सी सर्वर के साथ चैनल बना रहा है। मैं प्रॉक्सी सर्वर से d2 तक on_close
ईवेंट कैसे अग्रेषित कर सकता हूं?
क्या कोई अलग तरीका है जो इस काम को कर सकता है?
@Jack यह वही सवाल नहीं है। इस प्रश्न को फ़ाइल की आवश्यकता नहीं है। एक फ़ाइल काफी आसान है आप एक रीडायरेक्ट नियम को सबसे खराब केस परिदृश्य या रिवर्स प्रॉक्सी के रूप में बना सकते हैं। एसएसई उन समाधानों से काम नहीं करेगा। – wael34218