Чому сервер розробників Django за замовчуванням використовує порт 8000?


9

(Моє запитання насправді не стосується Django. Це альтернативні порти http. Я випадково знаю, що Django - це відносно відомий додаток, який використовує 8000 за замовчуванням, тому це ілюстративно.)

У мене в дикій природі є сервер розробників, який нам періодично потрібно запускати кілька служб httpd на різних портах. Коли мені потрібно було відстояти третю службу, і ми вже використовували порти 80 та 8080, я виявив, що наша група безпеки заблокувала доступ до порту 8000 з Інтернету. Я усвідомлюю, що порт 80 - це стандартний http-порт, а 8080 - це звичайно http_alt, але я хотів би зробити так, щоб наша команда з безпеки також відкрила 8000. Для того, щоб зробити такий випадок, я сподіваюся, що відповідь на це питання може надати мені обґрунтований аргумент для використання порту 8000 над 8080 в деяких випадках.

Або це був лише випадковий вибір без сенсу?


1
Іноді номер порту - це лише номер порту (і поки він> 1024, операційна система не хвилює - IANA, проте, буде вдячний, якщо ви зареєстрували потрібне вам число, а не просто захопити його і сподіваєтесь, що його ніхто не використовує)
voretaq7

Відповіді:


14

Причиною не використовувати 80 є те, що ви повинні мати root, щоб використовувати будь-який порт під 1024, оскільки це привілейовані порти. Тепер ви можете запустити сервер розробників на іншому порту, запустивши

python manage.py runserver 0.0.0.0:8080

Це пов'язує сервер розробників з усіма ips на порту 8080. Як правило, вибір 8000 був лише додаванням 2 0 до звичайного http-порту. Крім того, оскільки 8080 також є популярним і, можливо, вже використовується.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.