Die IIS-Rewrite-Regel funktioniert nicht in einer Live-Umgebung

8

Ich habe 4 Server in azur, 3 sind load balanced und der vierte ist nur für CMS-Zwecke.

SSL-Zertifikat wurde für die Hauptwebsite hinzugefügt, aber nicht für die Schluchtredaktion, auf der sich der CMS befindet.

Ich habe eine Regel geschrieben, die jede URL finden sollte, die kein "Backoffice" enthält und mit jeder anderen Seite übereinstimmt, um sie in https zu ändern.

Dies funktioniert auf regexr.com, funktioniert aber aus irgendeinem Grund nicht

%Vor%

Url Rewriting 2.1 ist auf allen 4 Servern installiert und ich habe einen Lastausgleich in azure für https erstellt.

geht zu https manuell funktioniert gut (zusammen mit Loadbalancing).

Zusätzliche Informationen:

Ich habe viele Regeln ausprobiert, einschließlich der vorhandenen Antwort. Ich kann Dinge sehen, wie Assets, die als https importiert werden, aber die Seite selbst wird nicht umgeleitet.

Es gibt zwei Lastausgleichssätze, einen für Port 80 und den anderen für Port 443. Ich weiß nicht, ob dies korrekt ist, oder könnte eine mögliche Ursache dafür sein, dass die Weiterleitung nicht stattfindet.

    
Hazonko 05.09.2017, 15:10
quelle

2 Antworten

5

Wenn ich die vorherige Antwort als Ausgangspunkt verwende, habe ich ein paar kleine Änderungen vorgenommen, um HTTP_HOST anstelle von REQUEST_URI für die Muster-Negation zu verwenden, und es funktioniert.

%Vor%     
Hazonko 13.09.2017, 09:54
quelle
5

Deine Regel sollte so sein:

%Vor%

Diese Regel schließt Anfragen mit /backoffice path aus.

Auch beim Mischen von Inhalten müssen Sie Ihre Pfade für css / js / images an Verwandte anpassen. Beispiel:

%Vor%

Eine weitere Möglichkeit, gemischten Inhalt zu korrigieren, ist die Erstellung einer ausgehenden Regel, die den HTML-Output Ihrer Ausgabe ändert (ersetzen Sie http: durch https: ):

%Vor%     
Victor Leontyev 05.09.2017 16:18
quelle

Tags und Links