Назад | Перейти на главную страницу

Настройка IIS для двух приложений Angular в домене и поддомене

У меня сложный сценарий, который я не могу настроить.

Мне нужен файл web.config, чтобы настроить IIS для обслуживания двух приложений Angular. Первый будет работать на domain.com, а второй - на sub.domain.com.

Исправление, которое работает сейчас, позволяет поместить первое приложение (domain.com) в wwwroot, а второе приложение (sub.domain.com) в папку внутри первого приложения. Файл web.config:

<?xml version="1.0" encoding="utf-8" ?>
  <configuration>
    <system.webServer>
      <rewrite>
        <rules>

          <rule name="Redirect subdomain" enabled="true">
            <match url="^(.*)$"/>
            <conditions>
                <add input="{HTTP_HOST}" pattern="^sub\.domain\.com$"/>
            </conditions>
            <action type="Rewrite" url="subfolder/{R:1}"/>
          </rule>

        </rules>
      </rewrite>
    </system.webServer>
  </configuration>

Проблема в том, что мне нужно добавить некоторые правила перезаписи URL, которые будут применяться только к первому приложению. Если я добавлю их в файл web.config, второе приложение будет перенаправлено в первое приложение из-за правил, которые я добавил.

Идеальным решением было бы что-то вроде этого

wwwroot

Таким образом, развертывание будет более безопасным, и если мне нужно будет вернуться, сделать другую версию, это будет намного проще. Я новичок в этой технологии, и если есть лучшие способы сделать это, я был бы признателен за некоторые ресурсы.

Я использую asp.net mvc, не знаю, есть ли у вас.

Я бы просто прочитал, какой домен является входящим, и, в зависимости от того, какой домен, отобразил соответствующее представление с угловой конфигурацией. Кажется проще, чем возиться с web.config и перезапись URL. Очевидно, вы будете обслуживать соответствующие файлы js в зависимости от того, какое приложение view / angular вы визуализируете.

Логика на сервере будет минимальной. В IIS вы просто указываете оба домена на одну и ту же папку asp.net. Это решение в основном включает создание двух SPA в контексте одного веб-сайта asp.net.

Я был бы рад опубликовать код для этого, если вам интересно.