¿Por qué el servidor de desarrollo de Django usa el puerto 8000 por defecto?

9

(Mi pregunta no es realmente sobre Django. Se trata de puertos http alternativos. Simplemente sé que Django es una aplicación relativamente famosa que usa 8000 por defecto, por lo que es ilustrativo).

Tengo un servidor dev en estado salvaje en el que ocasionalmente necesitamos ejecutar múltiples servicios httpd en diferentes puertos. Cuando necesitaba poner en marcha un tercer servicio y ya estábamos usando los puertos 80 y 8080, descubrí que nuestro equipo de seguridad bloqueó el acceso al puerto 8000 desde Internet. Reconozco que el puerto 80 es el puerto http estándar, y 8080 es comúnmente http_alt, pero me gustaría presentar el caso a nuestro equipo de seguridad para abrir 8000 también. Para exponer ese caso, espero que la respuesta a esta pregunta pueda proporcionarme un argumento razonable para usar el puerto 8000 sobre 8080 en algún caso.

¿O fue solo una elección aleatoria sin sentido?

kojiro
fuente
1
A veces, un número de puerto es solo un número de puerto (y siempre que sea> 1024, al sistema operativo no le importa; sin embargo, IANA lo agradecería si registrara el número que desea en lugar de simplemente tomarlo y esperar que nadie más lo esté usando)
voretaq7

Respuestas:

14

La razón para no usar 80 es que debe ser root para usar cualquier puerto por debajo de 1024, ya que son puertos privilegiados. Ahora puede iniciar el servidor de desarrollo en otro puerto ejecutando

python manage.py runserver 0.0.0.0:8080

Eso vinculará el servidor de desarrollo a todos los ips en el puerto 8080. En general, la elección de 8000 fue simplemente agregar 2 0 al puerto http normal. Además, desde 8080 también es popular y podría estar en uso.

Miguel
fuente