2

У меня есть настройки IIS с правилами перенаправления, которые прекрасно работают на моей машине с Windows. Однако - я начинаю использовать Mac - поэтому я установил виртуальную машину VirtualBox с окнами на ней и использовал точно такую же настройку. Теперь виртуальная машина Windows, запущенная на VirtualBox для Mac, такая же, как и физическая машина с Windows, которую я использовал до сих пор.

Проблема в том, что перенаправление URL не работает. С гостевой машины (windows) я просматриваю URL, который должен быть перенаправлен, и это не происходит должным образом. Я предполагаю, что это как-то связано с настройкой сети для виртуальной машины - нужно ли создавать правила переадресации портов? Какие?

Вот правило - из web.config (он отлично работает на физической машине):

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

Что касается ВМ - я определил два сетевых адаптера:

  • 1: NAT

  • 2: Адаптер только для хоста

Обратите внимание, что у меня есть доступ к Интернету с гостевой машины, я также могу получить доступ к своему веб-сервису локально - все в порядке, за исключением перезаписи URL, когда применяется правило.

1 ответ1

3

Из коробки UrlRewrite может переписывать только на одну и ту же страницу, например так:

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

Похоже, вы пытаетесь переписать полностью другой сайт в другом домене и, возможно, выполнить ssl-разгрузку - это то, что делает обратный прокси . Чтобы это работало, у вас должна быть установлена маршрутизация запросов приложений .

Что бы я сделал для отладки этого конфига:

  1. Замените действие перезаписи на перенаправление и посмотрите, работает ли оно - таким образом вы убедитесь, что правило применяется к вашему запросу.
  2. Если все, что вы пытаетесь сделать, это переписать на своем сайте, измените URL перезаписи на относительный.
  3. Если вам действительно нужно переписать другой сайт, установите и настройте ARR (что само по себе может привести к другому набору проблем)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .