Можно ли привязать доменные имена к серверу 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 только к определенным интерфейсам, выполните следующие действия:

  1. Запустите диспетчер серверов VisualSVN
  2. Щелкните правой кнопкой мыши на корневом элементе и выберите "Свойства".
  3. Переключиться на вкладку Сеть
  4. Выберите переключатель "Эти IP-адреса"
  5. Нажмите кнопку Добавить, введите IP-адрес интерфейса для прослушивания.
  6. Нажмите кнопку ОК, чтобы закрыть диалоговое окно Добавить интерфейс
  7. Нажмите кнопку ОК, чтобы закрыть окно свойств

Чтобы настроить прослушивание IIS для определенного интерфейса, выполните следующие действия:

  1. Запустите командную строку с повышенными правами
  2. Выполните следующую команду:

    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 может иметь встроенную функциональность, я никогда не проверял.

Другие вопросы по тегам