Apache hinter nginx als Reverse Proxy

  • Ich habe vor kurzem das erste Mal bei einem (schon eingerichteten und laufenden) Apache-Server Nginx als Webserver vorgeschaltet und Apache als Reverse Proxy in die zweite Reihe verbannt. (So wie bei Plesk)

    Ging problemloser als ich anfangs dachte. Man kann dabei sogar die schon für Apache ausgestellten Zertifikate weiterverwenden.

    Hier kurz die Vorgehensweise, die bei mir zum Erfolg geführt hat, falls das auch mal jemand vorhat:


    in /etc/apache2/ports.conf und allen schon aktiven vHosts die Ports für http/https ändern:

    80 -> 8080

    443 -> 4443

    Alle automatischen Weiterleitung nach https in den Apache-vhosts auskommentieren. (Sonst gibt es später u.U. "too many redirects")

    Apache neu starten und testen ob die Seiten nun unter http://DOMAIN:8080 und https://DOMAIN:443 zu erreichen sind.


    nginx installieren und im vhost einen Reverse Proxy zu Apache einrichten und dabei die schon vorhandenen Zertifikate nutzen:

    Damit die IPs auch für die Apache-Logfiles durchgereicht werden, muss dort noch das Module remoteip aktiviert werden und in /etc/apache2/apache2.conf die Direktive "RemoteIPHeader X-Forwarded-For" einfügt und beim Logformat "combined" %h gegen %a ausgetauscht werden.


    Wer munin nutzt und will dass neben nginx auch weiterhin Apache überwaht wird muss in /etc/munin/plugin-conf.d/munin-node noch für [apache*] mit "env.ports 8080" den geänderten Port angeben.


    Das wars dann eigentlich schon. Nun kann man entscheiden welche vhosts man unter nginx und welche unter Apache laufen lassen will. :)


    Läuft bei bis bis jetzt recht sauber, aber vielleicht fällt ja jemandem noch etwas dazu ein.

  • Hrmpf. Ja. Ich benenne es immer wieder falsch rum. Wenns mal falsch im Kopf ist, geht es so leicht nicht wieder raus...

    Also das Ende des ersten Satzes bitte einfach lesen als ",,,und Apache hinter den Reverse Proxy in die zweite Reihe verbannt"

    (Den Threadtitel kann man ja glücklicherweise in beide Richtungen interpretieren 8))

    Danke für die Klarstellung.


    btw.:

    Ich habe mir hier im Forum schon öfter eine längere Zeitspanne gewünscht, für die Bearbeitung der Beiträge. :(