Tại sao máy chủ dev của Django sử dụng cổng 8000 theo mặc định?


9

(Câu hỏi của tôi không thực sự về Django. Đó là về các cổng http thay thế. Tôi tình cờ biết Django là một ứng dụng tương đối nổi tiếng sử dụng 8000 theo mặc định, vì vậy nó mang tính minh họa.)

Tôi có một máy chủ dev trong tự nhiên mà đôi khi chúng ta cần chạy nhiều dịch vụ httpd trên các cổng khác nhau. Khi tôi cần phải cung cấp dịch vụ thứ ba và chúng tôi đã sử dụng các cổng 80 và 8080, tôi phát hiện ra nhóm bảo mật của chúng tôi đã khóa truy cập cổng 8000 từ Internet. Tôi nhận ra rằng cổng 80 là cổng http tiêu chuẩn và 8080 thường là http_alt, nhưng tôi cũng muốn làm cho nhóm bảo mật của chúng tôi mở 8000. Để thực hiện trường hợp đó, tôi hy vọng câu trả lời cho câu hỏi này có thể cung cấp cho tôi một lập luận hợp lý cho việc sử dụng cổng 8000 trên 8080 trong một số trường hợp.

Hay đó chỉ là một sự lựa chọn ngẫu nhiên không có ý nghĩa?


1
Đôi khi, số cổng chỉ là số cổng (và miễn là> 1024 hệ điều hành không quan tâm - tuy nhiên IANA sẽ đánh giá cao nếu bạn đăng ký số bạn muốn thay vì chỉ lấy nó và hy vọng không ai khác sử dụng nó)
voretaq7

Câu trả lời:


14

Lý do không sử dụng 80 là bạn cần phải root để sử dụng bất kỳ cổng nào dưới 1024 vì đó là các cổng đặc quyền. Bây giờ bạn có thể khởi động máy chủ dev tại một cổng khác bằng cách chạy

python manage.py runserver 0.0.0.0:8080

Điều đó sẽ liên kết máy chủ dev với tất cả các ips trên cổng 8080. Nói chung, lựa chọn 8000 chỉ là thêm 2 0 vào cổng http thông thường. Ngoài ra vì 8080 cũng phổ biến và có thể đã được sử dụ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.