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

Добавление нескольких веб-сайтов в IIS с одним DNS-именем

Я пытаюсь добавить новый веб-сайт в существующий IIS v7, на котором установлен веб-сайт по умолчанию. Моя проблема в том, что у меня конфликт, потому что я не могу дать:

Другое имя хоста Другой локальный IP Другой порт Меня попросили попробовать сделать следующее. Допустим, к веб-сайту по умолчанию можно получить доступ через www.something.com, тогда я должен попытаться настроить новый веб-сайт с помощью www.something.com/new_web_site

Возможно ли это из конфигурации веб-сайта?

Можно ли поместить какую-то страницу перенаправления в подпапку с именем new_web_site в физическом местоположении веб-сайта по умолчанию, которая будет перенаправлять реальное физическое местоположение файлов нового веб-сайта?

Комбинация правил ARR и перезаписи отлично решит эту проблему. Вот что нужно сделать:

  1. Скачайте и установите ARR http://www.iis.net/download/ApplicationRequestRouting
  2. В диспетчере IIS выберите свой компьютер на панели «Подключения», дважды щелкните функцию маршрутизации запросов приложений в разделе IIS, щелкните ссылку «Прокси-сервер» на панели «Действия», затем установите флажок «Включить прокси» и выберите «Применить». действие.
  3. Измените привязки двух существующих веб-сайтов - например, привяжите выпущенный веб-сайт к порту 81, а экспериментальный веб-сайт - к порту 82.
  4. Создайте новый веб-сайт и пул приложений и привяжите их «http: *: 80:». Назовите его «Веб-сайт по умолчанию». Укажите его физический путь к "% SystemDrive% \ inetpub \ DefaultWebSite"
  5. Создайте файл web.config для веб-сайта "Default" и напишите там свои правила маршрутизации:

    <rules>
        <rule name="Reverse Proxy for Experimental" stopProcessing="true">
            <match url="^.*/experimental/.*" />
            <action type="Rewrite" url="http://{HTTP_HOST}:82/{R:0}" />
        </rule>
        <rule name="Reverse Proxy for Release" stopProcessing="true">
            <match url=".*" />
            <action type="Rewrite" url="http://{HTTP_HOST}:81/{R:0}" />
        </rule>
    </rules>
    
  6. Возможно, вам придется немного повозиться с вашими правилами перезаписи, вы можете поэкспериментировать, используя апплет модуля URL Rewrite Module в IIS, и прочитайте больше об этом здесь: http://learn.iis.net/page.aspx/500/testing-rewrite-rule-patterns/ Для получения дополнительной помощи обязательно просмотрите блог Руслана Якушева: http://ruslany.net/

Это даст вам три полностью отдельных веб-сайта, доступных через один фасад на порту 80 (хотя, конечно, вы можете перейти на каждый веб-сайт непосредственно через порт 81 и 82, если вам нужно: http: // локальный: 81 / default.aspx например.

Как насчет добавления заголовков хостов для дополнительных веб-сайтов в привязки веб-сайта по умолчанию?