Apache & Nginx. Durch eine Kette verbunden (Teil 2)

Letzte Woche in dem ersten Teil diesem Artikel haben wir beschrieben, wie die Kombination von Apache und Nginx bei Timeweb aufgebaut ist. Wir danken unseren Lesern für die Fragen und die aktive Diskussion! Heute erklären wir, wie die Verfügbarkeit mehrerer PHP-Versionen auf einem Server umgesetzt wird und warum wir die Datensicherheit unserer Kunden garantieren.

Apache & Nginx. Durch eine Kette verbunden (Teil 2)
Shared Hosting (Shared-Hosting) bedeutet, dass viele Kundenkonten auf einem Server untergebracht sind. In der Regel befinden sich auf dem Konto eines Kunden mehrere Websites. Diese Websites laufen sowohl auf gängigen CMS (wie Bitrix) als auch auf maßgeschneiderten Lösungen. Die technischen Anforderungen der Systeme sind unterschiedlich, daher ist es notwendig, mehrere PHP-Versionen auf einem einzigen Server zu verwalten.

Als Hauptwebserver verwenden wir Nginx: Er akzeptiert alle externen Verbindungen und liefert statische Inhalte aus. Alle anderen Anfragen leiten wir an den Apache-Webserver weiter. Hier beginnt die Magie: Für jede PHP-Version wird eine separate Instanz von Apache gestartet, die auf einem bestimmten Port lauscht. Dieser Port wird im virtuellen Host der Kundenwebsite angegeben.

Weitere Informationen zur Funktionsweise des Shared-Systems finden Sie in dem ersten Teil des Artikels.

Apache & Nginx. Durch eine Kette verbunden (Teil 2)
Shared-System

Es ist wichtig zu beachten, dass wir PHP-Pakete für verschiedene Versionen bereitstellen, da normalerweise in allen Distributionen nur eine PHP-Version vorliegt.

Sicherheit zuerst!

Eine der Hauptaufgaben des virtuellen Hostings besteht darin, die Sicherheit der Kundendaten zu gewährleisten. Verschiedene Konten auf demselben Server sind unabhängig und voneinander autonom. Wie funktioniert das?

Die Dateien der Websites werden in den Heimatverzeichnissen der Benutzer gespeichert, während im virtuellen Hosting der Webserver die entsprechenden Pfade angibt. Dabei ist es wichtig, dass die Webserver Nginx und Apache Zugriff auf die endgültigen Dateien eines bestimmten Kunden erhalten, da der Webserver nur von einem Benutzer aus gestartet werden kann.

Für Nginx wird ein Sicherheits-Patch verwendet, der von dem Team von Timeweb entwickelt wurde: Dieser Patch ändert den Benutzer auf denjenigen, der in der Konfigurationsdatei des Webservers angegeben ist.

Bei anderen Hosting-Anbietern kann dieses Problem beispielsweise durch Manipulationen an den erweiterten Dateisystemrechten (ACL) gelöst werden.

Für den Betrieb von Apache wird ein Multiprocessing-Modul verwendet. mpm-itk. Es ermöglicht, dass jeder VirtualHost mit einer eigenen Benutzer-ID und Gruppen-ID betrieben wird.
Apache & Nginx. Durch eine Kette verbunden (Teil 2)
Auf diese Weise schaffen wir durch die oben beschriebenen Maßnahmen eine sichere, isolierte Umgebung für jeden Kunden. Gleichzeitig lösen wir auch die Skalierungsanforderungen für Shared-Hosting.

Wie die Verbindung zwischen Apache und Nginx implementiert ist, können Sie in dem ersten Teil unserem Artikel nachlesen. Außerdem wird dort eine alternative Konfiguration über das Dedicated-Schema beschrieben.

Wenn Sie Fragen an unsere Experten haben, hinterlassen Sie gerne einen Kommentar. Wir werden versuchen, alles zu beantworten oder die Lösung des Problems in zukünftigen Artikeln ausführlicher zu beschreiben.

Quelle: habr.com

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster