ERR_TOO_MANY_RE­DIRECTS bei Apache und NGINX Proxy Manager

Für alle Homelab interessierten oder Leute die Ihre lokale Entwicklungsumgebung gerne mit einem SSL Zertifikat betreiben wollen habe ich hier ein praktisches Snippet. Möchte man auf eine Apache Instanz über NGINX Proxy Manager zugreifen passiert es mit der Standard-Konfiguration, dass die Seiten nicht laden wollen und nach einiger Zeit die Fehlermeldung ERR_TOO_MANY_REDIRECTS ausgegeben wird. Grund hierfür ist, dass die Header-Informationen nicht an Apache weitergeleitet werden, falls es hier technisch noch weitere Spitzfindigkeiten gibt die den Fehler verursachen könnt Ihr mir gerne eine E-Mail schreiben und ich erweitere den Beitrag hier dahingehend.

Grundlegend gibt es zwei Lösungsansätze.

„Quick and dirty“:

Solltet Ihr PHP Projekte betreiben muss pro Projekt die folgende Server Variable gesetzt werden:

				
					$_SERVER['HTTPS'] = 'On';
				
			

Das war es auch schon, die jeweilige Seite sollte damit laden. Ganz so hübsch ist diese Lösung natürlich nicht, speziell wenn man die Seite später veröffentlichen möchte wäre dieses Stück Code unschön.

„Normal Mode“

Im NGINX Proxy Manager platziert Ihr im Eintrag der auf euren Apache Server zeigt unter Advanced folgende Zeilen:

				
					proxy_read_timeout 300;
proxy_pass_header  X-Transmission-Session-Id;
proxy_set_header   X-Forwarded-Host   $host;
proxy_set_header   X-Forwarded-Server $host;
proxy_set_header   X-Forwarded-For    $proxy_add_x_forwarded_for;   

				
			

Auf eurem Server aktiviert ihr jetzt die Apache Extension mod_remoteip mit dem folgenden Kommando:

				
					sudo a2enmod remoteip
				
			

Nun öffnet Ihr eure vHost Config File (sollte unter /etc/apache2/sites-enabled/ zu finden sein) und fügt die folgenden Infos hinzu, wichtig ist hier der Part zwischen den zwei Raute-Symbolen:

				
					<VirtualHost *:80>
	#
	RemoteIPHeader X-Forwarded-For
	RemoteIPInternalProxy ip.eures.proxy.managers
	SetEnvIf X-Forwarded-Proto "^https$" HTTPS=on
	#
</VirtualHost>

				
			

Anschließend laden wir unsere config neu mit dem folgenden Kommando.

				
					sudo systemctl reload apache2.service
				
			

That’s it, jetzt sollte es klappen.

Kontakt
Ihre Daten werden ausschließlich zur Bearbeitung Ihrer Anfrage verarbeitet. Mehr Informationen findest du in unserer Datenschutzerklärung

Bürozeiten:
Montag – Donnerstag: 9:00 – 17:00 Uhr
Freitag: 9:00 – 14:00 Uhr