Làm cách nào tôi có thể khởi động python SimpleHTTPServer trên cổng 80?


96

Tôi đang sử dụng lệnh này trên Ubuntu nhưng nó đang bắt đầu trên cổng 8080 và tôi không có máy chủ khác đang chạy nên tôi muốn nó bắt đầu trên cổng 80. Tôi đã thấy những cách mà bạn có thể thiết lập một tập lệnh bash để làm một cái gì đó như cái này, nhưng không có cờ dòng lệnh hay cái gì đơn giản hơn để chỉ định cổng?

python -m SimpleHTTPServer

3
Bạn đang chạy như root? Bạn không thể nghe trên một cổng <1024 trừ khi bạn có quyền root - và tôi thực sự khuyên bạn nên chống lại điều đó.
Nathan Osman

Câu trả lời:


163

sudo python -m SimpleHTTPServer 80

đối với phiên bản python 3.x , bạn có thể cần:

sudo python -m http.server 80

Các cổng dưới 1024 yêu cầu quyền root.

Như George đã thêm vào trong một bình luận, chạy lệnh này với quyền root không phải là một ý tưởng hay - nó mở ra tất cả các loại lỗ hổng bảo mật.

Tuy nhiên, nó trả lời câu hỏi.


6
Tôi cũng có thể thêm rằng chạy lệnh này với quyền root không phải là một ý tưởng hay - nó mở ra tất cả các loại lỗ hổng bảo mật.
Nathan Osman

2
@cwd :) Số cổng TCP / IP dưới 1024 là đặc biệt ở chỗ người dùng bình thường không được phép chạy máy chủ trên chúng. Đây là một bảo mật, trong đó nếu bạn kết nối với một dịch vụ trên một trong những cổng này, bạn có thể khá chắc chắn rằng bạn có thật, và không phải là giả mà một số tin tặc đã đưa ra cho bạn.
JRG

4
@cwd Nếu bạn muốn chạy máy chủ trên một cổng <1024, hãy sử dụng iptables để định tuyến các kết nối đến tới cổng ≥1024. Để thử nghiệm, làm một cái gì đó như sudo nc -l 80( netcat ). Và xem Tại sao 1024 cổng đầu tiên chỉ giới hạn cho người dùng root?
Gilles

1
@jrg Một cổng <1024 chỉ quan trọng nếu bạn tin tưởng sysadmin trên máy chủ chứ không phải người dùng khác. Ngày nay, gần như không có người dùng bên ngoài một số mạng cục bộ: hầu hết các máy chủ không phải là máy nhiều người dùng.
Gilles

3
Đây là một câu hỏi liên quan về cách bỏ đặc quyền khi bạn đã mở cổng 80.
jcollado

2

Làm một cái gì đó như:

python -SimpleHTTPServer 50505

Trong trường hợp 50505là số cổng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.