मैं पोर्ट 80 पर अजगर सिंपलएचटीपीएसर्वर कैसे शुरू कर सकता हूं?


96

मैं उबंटू पर इस कमांड का उपयोग कर रहा हूं, लेकिन यह 8080 पोर्ट पर शुरू हो रहा है और मेरे पास एक और सर्वर नहीं है, इसलिए मैं इसे पोर्ट 80 पर शुरू करना चाहूंगा। मैंने ऐसे तरीके देखे कि आप कुछ करने के लिए बैश स्क्रिप्ट सेट कर सकते हैं। यह है, लेकिन पोर्ट निर्दिष्ट करने के लिए कमांड लाइन का झंडा या कुछ सरल नहीं है?

python -m SimpleHTTPServer

3
क्या आप जड़ के रूप में चल रहे हैं? आप एक पोर्ट <1024 पर नहीं सुन सकते जब तक कि आपके पास रूट विशेषाधिकार न हों - और मैं दृढ़ता से इसके खिलाफ सलाह दूंगा।
नाथन उस्मान

जवाबों:


163

sudo python -m SimpleHTTPServer 80

के लिए अजगर 3.x संस्करण, आप की जरूरत हो सकता है:

sudo python -m http.server 80

1024 से नीचे के बंदरगाहों के लिए विशेषाधिकारों की आवश्यकता होती है।

जैसा कि जॉर्ज ने एक टिप्पणी में कहा, इस कमांड को रूट के रूप में चलाना एक अच्छा विचार नहीं है - यह सभी प्रकार की सुरक्षा कमजोरियों को खोलता है।

हालांकि, यह सवाल का जवाब देता है।


6
मैं यह भी जोड़ सकता हूं कि इस कमांड को रूट के रूप में चलाना एक अच्छा विचार नहीं है - यह सभी प्रकार की सुरक्षा कमजोरियों को खोलता है।
नाथन उस्मान

2
@cwd :) 1024 से नीचे के टीसीपी / आईपी पोर्ट नंबर इस मायने में खास हैं कि सामान्य उपयोगकर्ताओं को उन पर सर्वर चलाने की अनुमति नहीं है। यह एक सिक्योरिटी फियर है, ऐसे में अगर आप इनमें से किसी एक पोर्ट पर सर्विस से जुड़ते हैं तो आप काफी हद तक सुनिश्चित हो सकते हैं कि आपके पास असली चीज है, न कि नकली जो कि किसी हैकर ने आपके लिए लगाई है।
जेआरजी

4
@cwd यदि आप सर्वर को पोर्ट <1024 पर चलाना चाहते हैं, तो आने वाले कनेक्शन को पोर्ट .1024 पर रूट करने के लिए iptables का उपयोग करें। परीक्षण के लिए, कुछ ऐसा करें sudo nc -l 80( netcat )। और देखें कि पहले 1024 पोर्ट केवल रूट उपयोगकर्ता तक ही सीमित क्यों हैं?
गाइल्स

1
@jrg एक पोर्ट <1024 केवल तभी मायने रखता है जब आप सर्वर पर sysadmin पर भरोसा करते हैं लेकिन अन्य उपयोगकर्ताओं पर नहीं। यह आजकल कुछ स्थानीय नेटवर्कों के बाहर उपयोगकर्ता-रहित है: अधिकांश सर्वर बहुउपयोगी मशीनें नहीं हैं।
गाइल्स

3
यह एक संबंधित प्रश्न है कि आप 80 बार पोर्ट खोलने के बाद विशेषाधिकार कैसे छोड़ते हैं।
jcollado

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