2015-05-29 25 views
6

मिश्रित सामग्री: पर 'https://www.example.com/dashboard' HTTPS पर लोड किया गया था, लेकिन एक असुरक्षित XMLHttpRequest endpoint 'http://api.example.com/inventory/10/' यह अनुरोध अवरुद्ध कर दिया गया अनुरोध किया गया पृष्ठ, सामग्री प्रदान किया जाना चाहिए। HTTPS। से अधिकऐप लागू करने के बाद अनुरोध प्राप्त करने में त्रुटि आईएसएल: मिश्रित सामग्री: यह अनुरोध अवरुद्ध कर दिया गया है; सामग्री पर HTTPS का प्रदान किया जाना चाहिए "

हम अब हम इस अजीब त्रुटि हर जगह मिल रही है कि पीछे के अंत पर बोतल के साथ चलता है इस कोणीय वेब एप्लिकेशन है। सब कुछ ठीक काम कर रहा था जब तक हम एसएसएल कार्यान्वित किया। बाद में,।

, मेरे dashboard.js में $ http.get अनुरोध निश्चित रूप से नीचे दिए गए कोड में "https://api.example.com/inventory/10" को कॉल कर रहा है और फिर भी त्रुटि का दावा है कि हम इसके बजाय "http" का अनुरोध करने का प्रयास कर रहे हैं।

$http.get($rootScope.baseUrl+'/inventory/' + item.id) 

जहां rootScope.baseUrl कि "https://api.example.com"।

यह वास्तव में अजीब है क्योंकि कुछ GET अनुरोध हमारे वेब एप्लिकेशन से हमारे बैक-एंड तक जा रहे हैं, लेकिन कुछ अनुरोध इस अजीब त्रुटि को फेंक रहे हैं।

यहां हेडर है जो क्रोम में कंसोल के हमारे नेटवर्क टैब में त्रुटि प्राप्त करता है।

अनुरोध URL: https://api.example.com/inventory/10 अनुरोध हेडर अनंतिम हेडर स्वीकार दिखाए गए हैं: आवेदन/json, पाठ/सादा, / मूल: https://www.example.com Referer: https://www.example.com/dashboard

+0

यह भी देखें http://stackoverflow.com/questions/29302160/https-with-http-in-angular-not-working –

उत्तर

2

यह एक अजीब मामला था कि यूआरएल के अंत से सब कुछ ठीक करने के लिए एक आगे स्लैश हटाने के लिए नीचे आ गया। किसी भी तरह, जब भी हमने कोणीय में $ http का उपयोग करके GET अनुरोध किया है जैसे बेसूरल + inventory.id + "/", यह एक http अनुरोध करेगा लेकिन जैसे ही उस स्लैश को हटाएगा, यह https अनुरोध सही तरीके से करेगा।

फिर भी इतनी उलझन में

+0

मुझे आश्चर्य है कि किसी प्रकार का यूआरएल पुनर्लेखन चल रहा है, और यूआरएल को पूर्ण करने के लिए Http: // के साथ यूआरएल ... –

2

मुझे लगता है कि सर्वर रीडायरेक्ट में समस्या की जड़ है। मैं Django के लिए SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https') सेटिंग के साथ एक ही समस्या को हल करने में सक्षम था (यह एडब्ल्यूएस बैलेंसर के पीछे चल रहा है)। यहां documentation है।

संबंधित मुद्दे