Bereitstellen statischer Webdateien über einen nicht standardmäßigen Port

Bereitstellen statischer Webdateien über einen nicht standardmäßigen Port

Ich bin kurz davor, einDjangoProjekt zur Produktion. Ich schaue mir einige Infrastrukturentscheidungen an. Eines der Dinge war, dass statische Dateien auf einem anderen Server bereitgestellt werden, wie zum BeispielLichttpd.

Da wir jedoch mit einem einzelnen dedizierten Server beginnen, besteht unsere einzige Option darin, einen nicht standardmäßigen Port für den statischen Datei-Webserver zu verwenden.

  1. Gibt es dafür einen Präzedenzfall? Macht das etwa irgendjemand „Großes“?

  2. Gibt es einen bestimmten Port, den ich verwenden sollte oder von dessen Verwendung ich abraten sollte?

  3. Kann sich irgendjemand Nachteile dieses Weges vorstellen?

Antwort1

Sie erreichen höchste Endbenutzerkompatibilität, wenn Sie eine andere IP-Adresse und TCP/80 verwenden, als wenn Sie dieselbe Adresse und etwas wie TCP/8080 verwenden. Einige sehr restriktive Unternehmensfirewalls erlauben keine Verbindungen zu ungewöhnlichen Ports, selbst zu gängigen wie TCP/8008 oder TCP/8080. Wenn dies für Sie kein Problem darstellt, sollte die Bindung an einen gängigen alternativen HTTP-Port für das, was Sie zu tun versuchen, ausreichend sein.

Antwort2

Ich würde einfach einen weiteren virtuellen Host auf demselben Webserver einrichten, um den statischen Inhalt von „static.example.com“ bereitzustellen, sodass diese Änderung auf lange Sicht trivial wäre. Sie können es auf Ihre Weise tun, werden aber wahrscheinlich keinen großen Leistungsgewinn feststellen, aber versuchen Sie es mit:

  1. Richten Sie den virtuellen Host der Django-Anwendung auf localhost:8080 ein.
  2. aufstellenProxy-Kernlocalhost:8080 als Backend zu haben
  3. Konfigurieren Sie einen static.example.com-Virtualhost in lighttpd

Gibt es dafür einen Präzedenzfall? Macht das etwa irgendjemand „Großes“?

Sicherlich stellen Leute statische Inhalte von verschiedenen Servern bereit. Ich habe gehört, dass YouTube darin großen Wert legt.

Gibt es einen bestimmten Port, den ich verwenden sollte oder von dessen Verwendung ich abraten sollte?

Ich würde davor zurückschrecken, andere Ports als 80 zu verwenden, aber das ist nur meine Meinung... :-)

Kann sich irgendjemand ein paar Nachteile vorstellen, die dieser Weg mit sich bringt?

  1. kompliziert und bietet nur einen geringen Nutzen, wenn Sie ohnehin nur einen Anwendungsserver verwenden.
  2. alle Django-Seiten müssen über einen Proxy laufen.
  3. da musst du mal nachfragen.. :-)

verwandte Informationen