lostinspaze
Goto Top

IIS redirect von http auf https für alle Seiten ausser einer bestimmten

Hallo zusammen,

ich bin leider "neu" in dem Thema IIS Webserver und verzweifel gerade an einer Anforderung.

Wir haben eine Site im IIS - mit 5 unterschiedlichen Bindings.
Beispiel

abc.test.de
abc.prod.de
abc.dev.de
abc.rel.de
abc.go.de

alle sollen von http auf https umgeleitet werden ( redirect permanent ) AUSSER die "abc.go.de/work/"
Die muss http bleiben.

Ich habe nun schon viel mit den Regeln probiert und gelesen - aber ich bekomme es einfach nicht hin.
Entweder too many redirects oder alle gehen auf https..

Ich verzweifel

Content-Key: 51356075187

Url: https://administrator.de/contentid/51356075187

Printed on: June 26, 2024 at 17:06 o'clock

Member: user217
user217 Jun 18, 2024 at 09:42:03 (UTC)
Goto Top
Servus,
eigentlich musst du im iis nur die bindings konfigurieren (auf was er extern reagieren soll) und entsprechend das Virtuelle Verzeichnis hinzufügen für das mapping von Webserverpfad auf physikalischen Pfad. Das wars eigentlich.
http(s) konfiguriert man in den bindings.
Mitglied: 13034433319
13034433319 Jun 18, 2024 updated at 10:09:14 (UTC)
Goto Top
Nach dem Schema: Protocol = http && http_host != "abc.go.de" erreichst du dein Ziel...

Gruß
Member: LostinSpaze
LostinSpaze Jun 19, 2024 at 07:30:02 (UTC)
Goto Top
Naja,
ich habe auf der Site 4 Bindings mit https / Hostname und eine für alle * mit http

Dazu hatte ich eine URL Rewrite erstellt, damit alle Hostnamen / FQDN bis auf die eine auf https geroutet werden
Das klappt aber nicht..

entweder habe ich too many redirects.. oder alle Seiten werden zu https redirected... oder alle Seiten gehen http und https
Mitglied: 13034433319
13034433319 Jun 19, 2024 updated at 08:41:34 (UTC)
Goto Top
Also mal wieder zu Fuß ...

In allen Sites außer bei der Ausnahme Domain folgende eingehende Regel hinzufügen:

screenshot

(FQDN sollte natürlich in der Bindungen aller Sites hinterlegt sein!)

screenshot

Feddisch. Funktioniert hier im Test mit 3 Testdomains einwandfrei, eine davon wurde ausgenommen( dort extistert einfach keine Regel) und dort kann ich weiterhin per http nutzen => Ergo: Works as designed.
Member: LostinSpaze
LostinSpaze Jun 19, 2024 updated at 13:35:39 (UTC)
Goto Top
Hallo hempel,
Zu der Situation:
abc.test.de
abc.prod.de
abc.dev.de
abc.rel.de
abc.go.de

Sind alles Host Names auf EINER site

alle sollen von http auf https umgeleitet werden ( redirect permanent )
( die Regel, die du da hast, hatte ich auch), aber
die "abc.go.de/work/" die muss http bleiben.

das wäre nicht möglich, oder ?
also abc.go.work = https
abc.go.work/work/ = http ?
Mitglied: 13034433319
13034433319 Jun 19, 2024 updated at 13:38:57 (UTC)
Goto Top
as wäre nicht möglich, oder ?
Doch, einfach nur ganz oben bei Mustervergleich den Pfad hinterlegen und auf "Entspricht nicht dem Muster" wählen, oder den Pfad als Bedingung hinzufügen (negiert).
Member: LostinSpaze
LostinSpaze Jun 19, 2024 at 13:38:58 (UTC)
Goto Top
mmmhh ok
ich bin einfach zu doof dafür glaube ich...

PS: habe normalerweise damit auch nix zu tun, da ich VMware und Netzwerke mache,
aber Kollege Urlaub und wichtig..
Mitglied: 13034433319
13034433319 Jun 19, 2024 updated at 14:07:02 (UTC)
Goto Top
screenshot

Dann bitte nicht vergessen How can I mark a post as solved?
Member: LostinSpaze
LostinSpaze Jun 19, 2024 at 15:10:59 (UTC)
Goto Top
Hallo hempel

die Einstellungen:

iis-1

Auf der Site die Bindings - betrifft die markierten

iis-2

bleibt aber beharrlich auf https

iis-3
Mitglied: 13034433319
13034433319 Jun 19, 2024 updated at 15:41:59 (UTC)
Goto Top
Ist ja auch klar, du hast alle Domains auf die selbe Site gebunden ich war davon ausgegangen das jede Domain auf einer eigenen Site landet!
Ist aber kein Problem du musst dann noch eine Domain-Bedingung hinzufügen für deine Domain.

Und beim Testen musst du zwingend den private Mode benutzen und nach jeder Änderung am Server die Session beenden weil sich Browser die Redirects für die Session merken!

Mach dir später das Beispiel fertig falls du es noch nicht verstanden hast, muss jetzt weg. edit, siehe nächstes Kommentar...
Mitglied: 13034433319
Solution 13034433319 Jun 19, 2024 updated at 15:56:12 (UTC)
Goto Top
So hier die Lösung wenn alle Domains auf eine einzige Site gebunden sind :

screenshot

  • Die erste Regel matcht den {HTTP_HOST} auf die spezifische Domain abc.go.work und bei Verwenden des Pfades /work/ und beendet die Verarbeitung der Regeln "Aktion: Keine" und Haken bei "Verarbeitung von nachfolgenden Regeln beenden" setzen , die nächste Regel wird also danach nicht mehr angewendet.
  • Die zweite Regel greift dann für den sämtlichen Rest und leitet auf https um.

Als web.config im Klartext sieht das so aus

<?xml version="1.0" encoding="UTF-8"?>  
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <clear />
                <rule name="No https redirect for specific path" stopProcessing="true">  
                    <match url="^work(/.*)?$" />  
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">  
                        <add input="{HTTP_HOST}" matchType="Pattern" pattern="^abc\.go\.work$" ignoreCase="true" negate="false" />  
                    </conditions>
                    <action type="None" />  
                </rule>
                <rule name="Rewrite rest to https" stopProcessing="true">  
                    <match url=".*" negate="false" />  
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">  
                        <add input="{HTTPS}" pattern="^OFF$" />  
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" redirectType="Permanent" />  
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

Wurde hier getestet und funktioniert problemlos.

Man kann das zwar auch in eine einzige Regel pressen aber so ist es für andere die es evt. wieder anpassen müssen verständlicher wenn es in zwei Regeln gegliedert ist.
Member: LostinSpaze
LostinSpaze Jun 26, 2024 at 06:20:00 (UTC)
Goto Top
Danke schön