IIS URL-Rewrite funktioniert nicht

4733
Doron Zavelevsky

Ich habe ein IIS-Setup mit Umleitungsregeln, die auf meinem Windows-Computer einwandfrei funktionieren. Ich beginne jedoch mit der Verwendung von Mac. Daher habe ich eine VirtualBox-VM mit Fenstern installiert und genau das gleiche Setup verwendet. Nun ist die Windows-VM, die ich auf VirtualBox für Mac ausgeführt habe, dieselbe wie die physische Windows-Maschine, die ich bisher verwendet habe.

Das Problem ist, dass die URL-Weiterleitung nicht funktioniert. Vom Gastcomputer (Windows) aus navigiere ich zu der URL, die umgeleitet werden soll und die nicht ordnungsgemäß ausgeführt wird. Ich gehe davon aus, dass dies etwas damit zu tun hat, wie ich das Netzwerk für die virtuelle Maschine konfiguriere. Muss ich Portweiterleitungsregeln erstellen? Welche?

Hier ist die Regel - von web.config (funktioniert auf einem physischen Computer einwandfrei):

<rule name="API" patternSyntax="ECMAScript" stopProcessing="true"> <match url="api/.*" /> <action type="Rewrite" url="https://api.MyDomain.com/" /> </rule> 

In Bezug auf die VM - Ich habe zwei Netzwerkadapter definiert:

  • 1: NAT

  • 2: Nur-Host-Adapter

Beachten Sie, dass ich vom Gastcomputer aus auf das Web zugreifen kann. Ich kann auch lokal auf meinen Webdienst zugreifen. Alles ist in Ordnung, außer der URL-Umschreibung, wenn die Regel angewendet wird.

2

1 Antwort auf die Frage

3
qbik

UrlRewrite kann nur auf derselben Seite umgeschrieben werden.

<rule name="Rewrite to article.aspx"> <match url="^article/([0-9]+)/([_0-9a-z-]+)" /> <action type="Rewrite" url="article.aspx?id=&amp;title=" /> </rule> 

Es scheint, dass Sie versuchen, eine vollständig andere Site in einer anderen Domäne umzuschreiben und möglicherweise SSL-Offloading durchzuführen. Reverse Proxy macht dies. Damit dies funktioniert, muss Application Request Routing installiert sein.

Was ich tun würde, um diese Konfiguration zu debuggen, ist:

  1. Ersetzen Sie die Umschreibungsaktion durch eine Umleitung, und prüfen Sie, ob sie funktioniert. Auf diese Weise stellen Sie sicher, dass die Regel auf Ihre Anfrage angewendet wird.
  2. Wenn Sie lediglich ein Umschreiben innerhalb Ihrer Site versuchen, ändern Sie die Umschreibungs-URL in eine relative.
  3. Wenn Sie tatsächlich an einem anderen Standort umschreiben müssen, installieren und konfigurieren Sie ARR (was wiederum andere Probleme verursachen kann).
Ich akzeptiere Ihre Antwort - und ich wollte gerade meine eigene Frage beantworten. Es stellte sich heraus, dass ich beim Umstieg von meinem alten Computer auf die VM einen Setup-Schritt verpasst habe - um ARR zu installieren und zu konfigurieren (Enable Proxy aktivieren). Vielen Dank! Doron Zavelevsky vor 9 Jahren 0