Мне необходимо поддерживать несколько веб-сайтов на одном сервере IIS 7. Один из этих веб-сайтов должен иметь возможность поддерживать поддомены с подстановочными знаками. Я надеялся использовать заголовки хоста для этого подхода, но думаю, что это невозможно. Сайт, для которого требуются поддомены с подстановочными знаками, не позволит мне использовать * .site.com в заголовке хоста и, следовательно, не будет отвечать на запросы поддоменов, если я не настрою его на слепое прослушивание порта 80. Если у меня этот сайт слепо прослушивает порт 80, похоже, другие мои сайты работать не будут.
Вполне вероятно, что я пропустил шаг. Любая помощь приветствуется!
Дайте каждому отдельному веб-сайту собственный IP-адрес и настройте IIS для прослушивания на основе IP-адреса, а не Host
заголовок.
Тогда любой отдельный веб-сайт с несколькими поддоменами или поддоменами с подстановочными знаками, но на отдельном IP-адресе, будет работать с IIS, прослушивая все входящие запросы на этом IP-адресе.
Просто используйте site.com, а не * .site.com
Насколько я понимаю, IIS не поддерживает это. Я предполагаю, что следующий лучший вариант - использовать перезапись URL и установить перезапись в глобальных правилах (не для каждого сайта). Я использую IIRF с хорошими результатами, и это бесплатно. Версия 2.x теперь имеет глобальные правила перезаписи на уровне сервера, затем каждый сайт имеет свои собственные правила перезаписи для каждого сайта. Я бы установил что-то для перенаправления (или, может быть, даже перезаписи) * .domain.com на фиксированный суб, например www.domain.com. Или даже проявите творческий подход и передайте его как папку, например domain.com/subdomain.
Не оптимальные решения, но должны работать.
Я действительно удивлен, что мы не можем заставить iis делать обычные подстановочные знаки в заголовках хостов. Кажется, довольно простая функциональность.