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

Можно ли привязать доменные имена к серверу VisualSVN и IIS в одном ящике без использования порта?

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

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

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

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

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