У меня есть машина, на которой запущен VisualSVN Server для SCM и IIS, на котором размещен веб-интерфейс для выполнения некоторых задач управления репозиторием. В идеале я хотел бы привязать к каждому отдельное доменное имя, но, похоже, я не смогу сделать это, не указав порт хотя бы для одного из имен. Во всех смыслах и целях похоже, что вы не можете запустить два веб-сервера на одной машине и иметь запросы на порт 80 для каждого, даже если запросы относятся к разным доменным именам. Так ли это или есть способ обойти это? Я не хочу в конечном итоге указывать номер порта в одном из них, так как это не очень удобно для пользователя.
Вы можете запускать VisualSVN Server и IIS параллельно на одном порте, используя несколько IP-адресов на сетевых интерфейсах: http://www.itsyourip.com/networking/how-to-add-multiple-ip-address-in-windows-2000xp2003/
Чтобы настроить привязку VisualSVN Server только к определенным интерфейсам, выполните следующие действия:
Чтобы настроить прослушивание IIS на определенном интерфейсе, выполните следующие действия:
Выполните следующую команду:
netsh http add iplisten ipaddress=IPADDRESS
В качестве альтернативы, если у вас есть правильный тип брандмауэра / прокси-сервера прикладного уровня, который может перезаписывать URL-адреса, вы можете сохранить все свои серверные службы на uniqie-портах и публиковать их через брандмауэр / прокси-сервер все на порту 80, но с разными URL-адресами. .
Например, сервер Microsoft ISA Server способен на это. Сервер ISA может взломать входящий запрос, проверить URL-адрес и, основываясь на найденном URL-адресе, перенаправить запрос на совершенно другой URL-адрес и / или порт. Это обеспечивает очень безопасную конфигурацию, поскольку внутренний сервер общается только с брандмауэром, а прямой трафик никогда не бывает.
В этом сценарии пользователи будут направлять запросы к брандмауэру / прокси-серверу, а не напрямую к фактическому внутреннему серверу.
ISA Server является стандартным компонентом Small Business Server 2003 Premiun Edition, хотя в версии 2008 он был исключен.
Этот метод может работать, и у меня есть несколько бэкэнд-серверов IIS, опубликованных с использованием этого точного метода, однако я обнаружил, что решения на основе Apache, работающие в той же системе, что и IIS, упрощают управление с использованием нескольких IP-адресов и каждой из систем. используйте полностью отдельные IP-адреса, как было предложено в предыдущем ответе.
Вам всегда придется использовать два порта, если вам нужно работать с конкурирующими службами, но вы можете замаскировать второй порт, чтобы он выглядел нормально.
Вы делаете это с помощью обратного прокси. Обычно вы указываете, что веб-хостинг работает на: 80, чтобы пересылать все запросы на /SVN/
к http://localhost:81
(или в вашем случае все на www.example.com
).
В IIS 6 мы используем Перезапись Helicon ISAPI. IIS7 может иметь встроенную функцию, я никогда не проверял.