Можно ли привязать доменные имена к серверу VisualSVN и IIS на одном компьютере без использования порта?
У меня есть компьютер с сервером VisualSVN для SCM и IIS, на котором размещен веб-интерфейс для выполнения некоторых задач управления хранилищем. В идеале я хотел бы привязать разные доменные имена к каждому, но, кажется, я не могу сделать это, не указав порт хотя бы для одного из имен. В любом случае, похоже, что вы не можете запустить два веб-сервера на одной машине, и запросы к порту 80 идут на каждый, даже если запросы относятся к разным доменным именам. Это так или есть способ обойти это? Я не хотел бы в конечном итоге ввести номер порта в один из них, поскольку он не особенно удобен для пользователя.
3 ответа
Вы можете запустить VisualSVN Server и IIS параллельно на одном и том же порту, используя несколько IP-адресов на сетевых интерфейсах: http://www.itsyourip.com/networking/how-to-add-multiple-ip-address-in-windows-2000xp2003/
Чтобы настроить привязку VisualSVN Server только к определенным интерфейсам, выполните следующие действия:
- Запустите диспетчер серверов VisualSVN
- Щелкните правой кнопкой мыши на корневом элементе и выберите "Свойства".
- Переключиться на вкладку Сеть
- Выберите переключатель "Эти IP-адреса"
- Нажмите кнопку Добавить, введите IP-адрес интерфейса для прослушивания.
- Нажмите кнопку ОК, чтобы закрыть диалоговое окно Добавить интерфейс
- Нажмите кнопку ОК, чтобы закрыть окно свойств
Чтобы настроить прослушивание IIS для определенного интерфейса, выполните следующие действия:
- Запустите командную строку с повышенными правами
Выполните следующую команду:
netsh http add iplisten ipaddress=IPADDRESS
В качестве альтернативы, если у вас есть правильный тип брандмауэра / прокси-сервера прикладного уровня, который способен перезаписывать URL-адреса, тогда вы можете оставить все свои внутренние службы на уникальных портах и публиковать их через брандмауэр / прокси-сервер, все на порту 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 Re-Write. IIS7 может иметь встроенную функциональность, я никогда не проверял.