Perché il server di sviluppo di Django utilizza la porta 8000 per impostazione predefinita?


9

(La mia domanda non riguarda davvero Django. Si tratta di porte http alternative. Mi capita solo di sapere che Django è un'applicazione relativamente famosa che utilizza 8000 per impostazione predefinita, quindi è illustrativa.)

Ho un server di sviluppo in natura che a volte abbiamo bisogno di eseguire più servizi httpd su porte diverse. Quando ho dovuto sostenere un terzo servizio e stavamo già utilizzando le porte 80 e 8080, ho scoperto che il nostro team di sicurezza ha bloccato l'accesso alla porta 8000 da Internet. Riconosco che la porta 80 è la porta http standard e 8080 è comunemente http_alt, ma vorrei fare in modo che il nostro team di sicurezza aprisse anche 8000. Per fare questo caso, spero che la risposta a questa domanda possa fornirmi un argomento ragionevole per usare la porta 8000 su 8080 in alcuni casi.

O era solo una scelta casuale senza significato?


1
A volte un numero di porta è solo un numero di porta (e fintanto che è> 1024 il sistema operativo non se ne frega - IANA comunque lo apprezzerebbe se registrassi il numero che desideri piuttosto che afferrarlo e sperare che nessun altro lo stia usando)
voretaq7,

Risposte:


14

La ragione per non usare 80 è che devi essere root per usare qualsiasi porta sotto 1024 poiché quelle sono porte privilegiate. Ora puoi avviare il server dev su un'altra porta eseguendo

python manage.py runserver 0.0.0.0:8080

Ciò vincolerà il server dev a tutti gli ips sulla porta 8080. Generalmente la scelta di 8000 era semplicemente l'aggiunta di 2 0 alla normale porta http. Anche dal 8080 è anche popolare e potrebbe essere già in uso.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.