Warum verwendet der Entwicklungsserver von Django standardmäßig Port 8000?


9

(Meine Frage bezieht sich nicht wirklich auf Django. Es geht um alternative http-Ports. Ich weiß nur zufällig, dass Django eine relativ berühmte Anwendung ist, die standardmäßig 8000 verwendet, daher ist sie illustrativ.)

Ich habe einen Entwickler-Server in freier Wildbahn, auf dem gelegentlich mehrere httpd-Dienste an verschiedenen Ports ausgeführt werden müssen. Als ich einen dritten Dienst einrichten musste und wir bereits die Ports 80 und 8080 verwendeten, stellte ich fest, dass unser Sicherheitsteam den Zugriff auf Port 8000 über das Internet gesperrt hat. Ich erkenne, dass Port 80 der Standard-http-Port ist und 8080 normalerweise http_alt, aber ich möchte unser Sicherheitsteam bitten, auch 8000 zu öffnen. Um diesen Fall zu klären, hoffe ich, dass die Antwort auf diese Frage mir ein vernünftiges Argument für die Verwendung von Port 8000 über 8080 in einigen Fällen liefern kann.

Oder war es nur eine zufällige Wahl ohne Bedeutung?


1
Manchmal ist eine Portnummer nur eine Portnummer (und solange sie> 1024 ist, ist es dem Betriebssystem egal - IANA würde es jedoch begrüßen, wenn Sie die gewünschte Nummer registrieren würden, anstatt sie nur zu greifen und zu hoffen, dass niemand anderes sie verwendet).
voretaq7

Antworten:


14

Der Grund dafür, dass Sie 80 nicht verwenden, ist, dass Sie root sein müssen, um einen Port unter 1024 verwenden zu können, da dies privilegierte Ports sind. Jetzt können Sie den Entwicklungsserver an einem anderen Port starten, indem Sie ihn ausführen

python manage.py runserver 0.0.0.0:8080

Dadurch wird der Entwicklungsserver an alle IP-Adressen an Port 8080 gebunden. Im Allgemeinen wurden bei der Auswahl von 8000 nur 2 Nullen zum normalen http-Port hinzugefügt. Auch seit 8080 ist auch beliebt und könnte bereits in Gebrauch sein.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.