Kann mir jemand sagen, worauf ich achten muss, um einen Router/Gateway/eine Firewall für meine Home-Office-Umgebung zu bekommen, damit ich mehrere Webserver (z. B. auf Port 80) mit einer öffentlichen IP betreiben kann. Ich weiß, dass das mit Apache oder IIS auf einem Server-Computer möglich ist. Ein Cisco- oder Netgear-Router?
Z.B:
host1.example.com:80 -> 192.168.0.101
host2.example.com:80 -> 192.168.0.102
Antwort1
Openwrt bietet gute Apache/Squid-Unterstützung. Ich habe Apache sogar als Reverse-Proxy verwendet. Das Einzige, was Sie brauchen, ist ein Openwrt-kompatibler Router.
Zweitens müssen Sie Apache (ich empfehle hierfür Apache) in dieser speziellen Proxy-Arbeitsmethode einrichten. Das ist nicht so schwer, wie es scheint. Wenn Sie möchten, kopiere und füge ich gerne einige Konfigurationsbeispiele in diesen Beitrag ein.
Der CPU-Bedarf eines solchen Proxys ist kein allzu großes Problem - die meisten Router haben keine sehr starke CPU -, denn was eine solche HW/SW-Konfiguration tut, ist eigentlich nicht mehr, als ob sie nur Pakete weiterleitet. Es gibt keine CPU-intensiven Dinge wie PHP-Interpretation oder JVM, und der Apache kann mit seinem "Worker" MPM im Thread-Modus laufen, was sehr schnell ist.
Antwort2
Router betreiben normalerweise keine Server. OpenWRT- und DD-Wrt-basierte Router können diese Funktionalität bereitstellen, wenn sie über ausreichend Speicher verfügen. Dies liegt daran, dass sie einen Linux-Kernel ausführen. Die Webserver-Funktionalität wird durch den Betrieb eines Webservers oder Proxys wie Apache oder Squid bereitgestellt.
Wenn Sie mehrere kleine Websites als Server haben, können Sie möglicherweise einen Raspberry Pi oder ein ähnliches Gerät zum Ausführen Ihrer Websites verwenden. Wenn Sie mehr Kapazität benötigen, kann ein kleiner Server mit Linux sowohl Firewall- als auch Webserver-Funktionen bieten. Ich habe mit einem recycelten Desktop-System mit einer zweiten Netzwerkkarte begonnen, auf der Linux sowohl als Webserver als auch als Firewall läuft.
Ich mache diese Trennung auf dem Webserver. Die großen Webserver übernehmen die Bereitstellung von Inhalten auf Basis des Host-Headers. Der Apache-Webserver nennt diese Funktion VirtualHosts. Es ist möglich, einen Teil oder den gesamten Datenverkehr eines Hosts auf einen zweiten Server umzuleiten.
Multi-Domain-HTTPS ist schwieriger, da Zertifikate mit einem Hostnamen verknüpft sind. Wenn die Domänen verwandt sind, funktioniert ein Multi-Domain- oder Wildcard-Zertifikat. Einige Server können den Hostnamen aushandeln, bevor sie das Zertifikat bereitstellen, obwohl ich dies nie erfolgreich implementiert habe.
Sie möchten, dass Ihr Router HTTP-Anfragen an Ihren Webserver weiterleitet. Die meisten Router bieten diese Funktion über den Port und/oder als DMZ-Adresse.