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

IIS дублирует сайты с разными конфигами

(Короткая) проблема Нам нужно запустить тот же код веб-сайта с другим файлом web.config на одном сервере.

Проблема (немного длиннее) Сайт должен быть размещен на 2 разных доменах, оба на SSL, поэтому нам нужно иметь 2 разных веб-сайта с разными IP-адресами. Однако мы хотели бы, чтобы кодовая база была согласованной для них обоих, поэтому, когда обновляется одно, другое выполняется одновременно. Нам также необходимо сделать так, чтобы каждый веб-сайт использовал свой файл web.config (так как есть значения, специфичные для каждого из сайтов.

Итак, на самом деле мы хотим каким-то образом определить местоположение файла web.config для ASPX-сайта .NET 4.0 из конфигурации IIS.

На данный момент это IIS 6.0, но если IIS 7.0 / 7.5 решит проблему, то возможно обновление.

Вот что я придумал: использовать символические ссылки для всех папок и файлов, кроме config. Я не уверен, что это лучший вариант, поскольку другие файлы / каталоги могут быть добавлены в какой-то момент и будут забыты во время развертывания. Синхронизация папок. Это будет означать, что мы полагаемся на процесс, чтобы поддерживать их актуальность в режиме реального времени или по расписанию. это также много накладных расходов.

Предполагая, что IIS не имеет встроенного метода для этого (например, вы подтвердили, что <location> теги в applicationhost.config не поддерживают нужные вам настройки), ваш вопрос сводится к прямому управлению файлами.

Я бы предложил отказаться от сложных (основанных на символических ссылках) решений, которые вы рассматриваете, которые будущие администраторы могут не ожидать или не понимать, и перейти к простой, легко понимаемой копии всех файлов, только с другим файлом web.config.

Скопируйте все из каталога A, но исключите файл web.config (например, используя ROBOCOPY с участием /XF)

Затем вам просто нужно убедиться, что файл web.config не сильно смещается между копиями, но это то же самое.