पर http-server प्रारंभ करना मैं एक अमेज़ॅन ईसी 2 इंस्टेंस पर एक साधारण पायथन http-server सेटअप और एक्सेस करने का प्रयास कर रहा हूं। सर्वर स्थानीयहोस्ट के तहत स्थानीय रूप से काम करता है: 80, लेकिन मैं इसे ईसी 2 इंस्टेंस पर काम नहीं कर सकता।अमेज़ॅन ईसी 2
मैंने उदाहरण के लिए एक लोचदार आईपी जोड़ा, और कम से कम उस आईपी पर एसएसएच तक पहुंचने के लिए काम करता है।
मुझे लगता है कि समस्या यह है कि मैं गलत तरीके से HTTPServer के लिए SERVER_ADDRESS सेट कर रहा हूं है: Python HTTPServer documentation के बाद से मैं वास्तव में एक सुराग नहीं है, घर पर मैं रूटर कंप्यूटर के स्थानीय आईपी के HTTP अग्रेषित करने के लिए कॉन्फ़िगर किया गया, 1 9 2.168.1.xx
मैंने सोचा कि यह एक सुरक्षा समूह मुद्दा हो सकता है, इसलिए मैंने स्रोत 0.0.0.0/0 के साथ इनबाउंड HTTP जोड़ा (जिसे मैंने सोचा था कि सभी आने वाले आईपी को अनुमति देनी चाहिए) और किसी भी विकल्प के बिना पोर्ट 80 सेट करता है परिवर्तन।
इसके अतिरिक्त, मुझे लगता है कि पोर्ट 80 पर सुडो के तहत सर्वर स्क्रिप्ट चलाना एक संभावित सुरक्षा जोखिम है। 80 के बजाय 8080 की तरह किसी अन्य बंदरगाह के तहत अनुरोध अग्रेषित करने का कोई तरीका है?
पायथन का HTTPServer शायद विशेषाधिकार नहीं छोड़ता है, इसलिए रूट के रूप में चलाने के लिए सुरक्षित नहीं है। आपका सेटअप वास्तव में क्या है? क्या आप ईसी 2 इंस्टेंस से अपने कंप्यूटर पर होस्ट किए गए HTTPServer तक पहुंचने का प्रयास कर रहे हैं? – tangrs
क्या आप HTTPServer पर server_address तर्क के रूप में उपयोग कर रहे हैं? यदि आपके पास अन्य लोग इसका उपभोग करेंगे तो आपके पास इस सेवा/वेबसाइट के नजदीक nginx या apache जैसा होना चाहिए। साथ ही, [फ्लास्क] (http://flask.pocoo.org/) जैसी लाइब्रेरी का उपयोग करने पर विचार करें, यह आपके जीवन को आसान बना सकता है। – LoveGandhi