So richten Sie einen Reverse-Proxy für einen externen Server in IIS ein

3
bugmagnet 2020-07-17 23:49.

Das Szenario, an das wir denken, ist also wie folgt.

Wir haben einen IFRAME. Der IFRAME möchte auf eine Ressource verweisen https://trees.com. Es könnte zum Beispiel sein https://trees.com/ficus/macrophylla. Trotz all unserer Anfragen trees.comweigern sie sich jedoch, uns zu erlauben, direkt auf ihre Website zu verlinken, und blockieren die Anfrage zwischen den Ursprüngen.

Also beschließen wir, einen Reverse-Proxy einzurichten. Wir haben von Nginx und Apache gehört, aber wir haben ein festes Engagement für die Technologie von Microsoft, egal ob gut oder schlecht. Entscheiden Sie sich also für IIS.

Mit einem unserer Azure-Server erstellen wir eine Website, nennen wir sie https://figs.wild.com.au. Wir konfigurieren die IFRAMEs so, dass eine Anfrage an https://trees.com/ficus/macrophyllatatsächlich geht https://figs.wild.com.au/trees/ficus/macrophylla.

An diesem Punkt werden wir leicht verrückt.

Ist es tatsächlich möglich, dass die Anforderung https://figs.wild.com.au/trees/ficus/macrophyllaauf dem figs.wild.com.auServer in eine Anforderung konvertiert https://trees.com/ficus/macrophyllaund die Antwort darauf an den Absender der IFRAME-Anforderung zurückgemeldet wird?

Wir haben viel gesucht und finden immer wieder Dinge, die fast funktionieren. Was funktioniert eigentlich? Ist IIS Url Rewrite die zu verwendende Sache, und wenn ja, wie sollten die Regeln aussehen? Oder sollten wir stattdessen ein C # -y-Ding verwenden?

2 answers

1

Wenn ich gehe zu http://www.trees.com/ficus/macrophylla mit dem Browser wird dann bekommen

Wenn ich gehe zu http://www.trees.com/ wird auch folgendes bekommen


Verwenden der SSL-Anforderung an tree.com

Klicken Sie auf "Klicken Sie hier, um die Nichtübereinstimmung zu ignorieren ..."

In der Konfiguration

Wir können sehen, dass TLS 1.0, 1.1, 1.2 und 1.3 unterstützt werden. Grüne Farbe für TLS 1.2 und 1.3.

Wir können PowerShell für die Verwendung von TLS 1.3 konfigurieren

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls13

Und bestätigen Sie, dass es verwendet wird

[Net.ServicePointManager]::SecurityProtocol


In PowerShell (als Administrator), wenn Invoke-WebRequest verwendet wird

Invoke-WebRequest -Uri trees.com/ficus/macrophylla

dann wird bekommen

und wenn man benutzt

Invoke-WebRequest -Uri trees.com

dann wird bekommen


So weit, ist es gut. Aber wenn wir es für CORS aus dem testen wollenhttps://figs.wild.com.au,

(Invoke-WebRequest -Uri 'http://trees.com' -Headers @{ "Origin" = "https://figs.wild.com.au" }).Headers

wir bekommen

Key                           Value
---                           -----
Transfer-Encoding             chunked
X-Adblock-Key                 MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL/3/SrV7P8AsTHMFSpPmYbyv2PkACHwmG9Z+1IFZq3vA54IN7pQcGnhgNo+8SN9r/KtUWCb9OPqTfWM1N4w/EUCAwEAAQ==_FamzgofQ7ugTniHINrZ7yp35i/Nqkt7q/gZsgPGyvhOwIQhj04Bd9+/nir6OLAFDPB56kU4m0GgS7SvEoFqRbQ==
Access-Control-Allow-Origin   *
Access-Control-Allow-Methods  *
Access-Control-Request-Method *
Access-Control-Allow-Headers  *
Access-Control-Max-Age        86400
X-UA-Compatible               IE=Edge,chrome=1
X-Request-Id                  556905ec3cb435a1168cc1b28d70875f
X-Runtime                     0.048014
X-Rack-Cache                  miss
Cache-Control                 max-age=0, private, must-revalidate
Content-Type                  text/html; charset=utf-8
Date                          Mon, 20 Jul 2020 09:40:37 GMT
ETag                          "8e51e434b70033ee6a90cb7397af53f9"
Set-Cookie                    _digiadmin2_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJTNmOWRlMDA5NjRiZWZlMzgyZTRmN2NlOWIzZmQxZjIzBjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMVFOckhMdElRMWc1cGZBcGl5OGQ1WkVNeXo3elpobWRwc2QyR0djTFlNUEE9BjsARg%3D%3D--e55261be794bb9f95ee407c73a3e2b315ef...
Server                        nginx/1.10.1

Beachten Sie, dass Access-Control-Allow-Origin den Wert Stern (*) hat, was bedeutet, dass jede Domain zulässig ist. Dann, wenn wir den folgenden Befehl verwenden

Invoke-WebRequest -Uri 'http://trees.com' -Headers @{ "Origin" = "https://figs.wild.com.au" }

Wir werden das folgende Ergebnis erhalten


Mit anderen Worten, es ermöglicht eine Herkunftsübergreifende Anforderung und blockiert nicht, wie Sie in der Frage erwähnen. Könnte sein, dass Sie auch nur zur Erklärung fiktive URLs angeben.

1

In Bezug auf die Frage und unter Berücksichtigung der Kommentare ist in IIS eine Umleitung zu einer externen URL möglich, wie hier gezeigt .

<system.webServer>
  <rewrite>
    <rules>
      <rule name="External Redirect" stopProcessing="true">
        <match url="^VirtualDirectory" negate="true" />
        <conditions>
          <add input="{HTTP_HOST}" ignoreCase="true" negate="true" pattern="hostname"/>
          <!-- add this input condotion to make this redirect url not work with http://hostname/VirtualDirectory -->
        </conditions>
        <action type="Redirect" url="{your url}" redirectType="Found" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>

Eine einfache Umleitung ist auch mit NGIX möglich und wird beispielsweise in dieser Antwort angesprochen .

server {
    listen 80;
    server_name     example.com;
    return          301 http://www.example.com$request_uri;

server {
    listen 80;
    server_name     www.example.com;
    [...]

und in dieser Antwort

server {
  listen 80;
  server_name localhost;
  merge_slashes off;

  location /rdr {
    location /rdr/http:// {
      rewrite ^/rdr/(.*)$ $1 permanent; } rewrite ^/rdr/(.*)$ http://$1 permanent;
  }
}

Sie möchten jedoch nicht den Inhalt dieser Seite sehen, sondern diese Daten irgendwo speichern und dann erneut umleiten. Woher kommen diese Daten dann, um den IFRAME zu versorgen?


Anstatt dies redirect > save data > redirectzu tun, würde ich vorschlagen, dies separat zu tun. Genauer gesagt würden Sie die Daten von erhaltenhttps://trees.com/ficus/macrophylla und speichern Sie es an der Stelle von https://figs.wild.com.au/trees/ficus/macrophylla und verwenden Sie, was Sie von dieser Datei für die IFRAMEs wollen.

Um den Inhalt der Datei am Speicherort abzurufen https://trees.com (ohne dass JS und CSS aus anderen Dateien stammen) und speichern Sie es in einer HTML-Datei, würden Sie so etwas tun

from urllib.request import urlopen
html = urlopen("http://trees.com").read().decode('utf-8')
#print(html)
with open("test.html", "w") as file:
    file.write(html)

Dadurch wird der Inhalt in einer HTML-Datei mit dem Namen test gespeichert, die sich am selben Speicherort dieses Skripts befindet.

(Wenn auch CSS und JS erforderlich sind, überprüfen Sie diese SO-Frage. )

Wenn Sie diese Hektik nicht durchstehen möchten, gibt es Tools wie HTTrack , mit denen Sie komplette Websites herunterladen können. Auf diese Weise müssen Sie die Mapsite nicht kennen, um die möglichen Variationen zu durchlaufen.


Ich kann die Bequemlichkeit dessen sehen, was Sie wollen. Will weiter untersuchen und lassen Sie wissen , wenn feststellen , dass super-automatisierten Weg , dies zu tun , sondern würde helfen , zu wissen , „Wo wird , die Daten aus , dann kommen die IFRAME zu füttern?“.

MORE COOL STUFF

Cate Blanchett schlief nach 3 gemeinsamen Tagen mit ihrem Ehemann und ist 25 Jahre später immer noch mit ihm verheiratet

Cate Blanchett schlief nach 3 gemeinsamen Tagen mit ihrem Ehemann und ist 25 Jahre später immer noch mit ihm verheiratet

Cate Blanchett widersetzte sich typischen Dating-Ratschlägen, als sie ihren Ehemann traf.

Warum Michael Sheen ein gemeinnütziger Schauspieler ist

Warum Michael Sheen ein gemeinnütziger Schauspieler ist

Michael Sheen ist ein gemeinnütziger Schauspieler, aber was genau bedeutet das?

Hallmark-Star Colin Egglesfield sorgt für spannende Fan-Begegnungen bei RomaDrama Live! [Exklusiv]

Hallmark-Star Colin Egglesfield sorgt für spannende Fan-Begegnungen bei RomaDrama Live! [Exklusiv]

Hallmark-Star Colin Egglesfield sprach über spannende Fan-Begegnungen bei RomaDrama Live! plus sein INSPIRE-Programm auf der Convention.

Warum Sie „Northern Exposure“ nicht online streamen können

Warum Sie „Northern Exposure“ nicht online streamen können

Sie müssen einen Blu-ray- oder DVD-Player abstauben, um zu sehen, warum Northern Exposure zu einer der beliebtesten Shows der 90er Jahre wurde.

Where in the World Are You? Take our GeoGuesser Quiz

Where in the World Are You? Take our GeoGuesser Quiz

The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!

Werfen Sie diese Pappröhren nicht weg! 10 Möglichkeiten, sie wiederzuverwenden

Werfen Sie diese Pappröhren nicht weg! 10 Möglichkeiten, sie wiederzuverwenden

Werfen Sie Ihr Papierhandtuch, Toilettenpapier und Geschenkpapierrollen nicht in den Müll. Geben Sie ihnen stattdessen mit einem dieser 10 Hacks ein zweites Leben.

Schlafen Fische?

Schlafen Fische?

Es ist schwer vorstellbar, dass Nemo im Great Barrier Reef ein paar Zs fängt. Aber Fische brauchen Ruhe. Schlafen sie so wie wir?

Spenden Sie Ihr Haar, um unser Wasser sauber zu halten

Spenden Sie Ihr Haar, um unser Wasser sauber zu halten

Haarteile aus Salons und persönliche Spenden können als Matten wiederverwendet werden, die Ölverschmutzungen aufsaugen und zum Schutz der Umwelt beitragen.

Der Curiosity Rover der NASA erfasst ein atemberaubendes Panorama der Marslandschaft

Der Curiosity Rover der NASA erfasst ein atemberaubendes Panorama der Marslandschaft

Bild: NASA / Gizmodo Nach Monaten stetigen Fortschritts hat der Curiosity Rover der NASA die Spitze des Vera Rubin Ridge erreicht. Und wie der gute Bergsteiger, der es ist, nutzte der Rover die Gelegenheit, sich umzusehen und die Aussicht von oben zu genießen.

Ist das der Anfang vom Ende von Brittney Griners Inhaftierung?

Ist das der Anfang vom Ende von Brittney Griners Inhaftierung?

Brittney Griner (r.) Brittney Griners Status war von Anfang an die einzigartigste amerikanische Geiselsituation in der modernen Geschichte.

Tom Brady ist der erste Quarterback, der Julio Jones endlich mehr als 10 Touchdowns in einer Saison bescheren kann

Tom Brady ist der erste Quarterback, der Julio Jones endlich mehr als 10 Touchdowns in einer Saison bescheren kann

Wir konnten dieses Jahr viel mehr von einem gesunden Julio Jones in der Endzone sehen. John Parker Wilson, Greg McElroy, A.

Es musste Deutschland sein

Es musste Deutschland sein

Für England gibt es keinen größeren Bösewicht Die meisten englischen Fans, wenn nicht alle, hätten mit dem Kopf genickt, als der Schlusspfiff des zweiten Halbfinals der W Euro 2022 ertönte. Denn es signalisierte, dass Deutschland im Wembley-Finale auf England und das einzige zwischen den Engländern und der Damenmannschaft warten würde, um den ersten großen Pokal.

Tudor Dixon gewinnt Michigan GOP Primary und trifft nun auf die amtierende Demokratin Gretchen Whitmer

Tudor Dixon gewinnt Michigan GOP Primary und trifft nun auf die amtierende Demokratin Gretchen Whitmer

Tudor Dixon hat am Dienstag die Vorwahlen von Michigan zum Gouverneur gewonnen, nachdem er eine späte Bestätigung des ehemaligen Präsidenten Donald Trump erhalten hatte

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Rothschild's luggage got lost, but luckily she has an incredible closet to shop: Sister Paris Hilton's!

Kate Middleton verbringt einen Tag am Wasser in London, plus Jennifer Lopez, Julianne Hough und mehr

Kate Middleton verbringt einen Tag am Wasser in London, plus Jennifer Lopez, Julianne Hough und mehr

Kate Middleton verbringt einen Tag am Wasser in London, plus Jennifer Lopez, Julianne Hough und mehr. Von Hollywood bis New York und überall dazwischen, sehen Sie, was Ihre Lieblingsstars vorhaben!

17-Jähriger erstochen, während 4 weitere bei einem Messerangriff am Wisconsin River verwundet wurden

17-Jähriger erstochen, während 4 weitere bei einem Messerangriff am Wisconsin River verwundet wurden

Die Ermittler prüfen, ob sich die Gruppe und der Verdächtige vor dem Angriff kannten

Start- und Landebahnen

Start- und Landebahnen

Spätsommer und Herbst sind nostalgische Jahreszeiten. Straßenlaternen werfen ihr Licht über regennasse Straßen, und die Blätter unter den Füßen – gedämpft rot-orange im Schatten der Dämmerung – erinnern an vergangene Tage.

Stellen Sie sich vor, Sie erstellen eine Inhaltsstrategie, die tatsächlich KONVERTIERT. Es ist möglich.

Stellen Sie sich vor, Sie erstellen eine Inhaltsstrategie, die tatsächlich KONVERTIERT. Es ist möglich.

Im Jahr 2021 ermutige ich Sie, alles zu überdenken, was Sie über die Kunden, die Sie bedienen, und die Geschichten, die Sie ihnen erzählen, wissen. Zurücktreten.

Ein Mammutverlust öffnete mein Herz für die Liebe

Ein Mammutverlust öffnete mein Herz für die Liebe

Am Tag des 9. Geburtstags von Felix The Cat erinnere ich mich an einen der größten Verluste meines Erwachsenenlebens – meine Sophie im Jahr 2013. Ich habe diesen Essay geschrieben und ihn kurz im Jahr 2013 auf dieser Plattform geteilt.

Wenn Sie nicht die Person sein können, die das Internet von Ihnen will

Wenn Sie nicht die Person sein können, die das Internet von Ihnen will

Ich hasse das Wort „Zugwrack“. Die Menschen trösten sich mit ihrem eigenen moralischen Kompass und treffen dabei auf ein Urteil.

Language