Сервер 2008 R2 с пакетом обновления 1 (SP1)
VisualSVN Server 2.1.6
На сервере IIS около 10 сайтов. Один из них использует https через порт 443 со следующими привязками:
http x.x.x.39:80 site.com
http x.x.x.39:80 www.site.com
https x.x.x.39:443
Свойства сервера VisualSVN
server name: svn.SomeSite.com
server port: 443
Server Binding: x.x.x.40
Никакие сайты в IIS не слушают x.x.x.40.
При запуске сервера VisualSVN выдают следующие ошибки:
- make_sock: не удалось выполнить привязку к адресу x.x.x.40: 443 (OS 10013) Была предпринята попытка получить доступ к сокету способом, запрещенным его разрешениями на доступ.
- нет доступных гнезд для прослушивания, выключение
Когда я останавливаю Site.com на IIS, VisualSVN Server запускается без проблем. Когда я привязываю сервер VisualSVN к порту 8443 и запускаю Site.com, сервер VisualSVN запускается без проблем.
Моя цель - получить доступ к серверу VisualSvn с обычным URL-адресом, то есть с тем, который не использует номер порта в адресе:
https://svn.site.com vs https://svn.site.com:8443
Что необходимо настроить, чтобы разрешить VisualSVN Server работать на порту 443 с IIS, работающим на том же сервере?
В ответ предоставил Иван указали мне в правильном направлении. Для всех, кто сталкивается с этим, вот немного дополнительной информации.
Несмотря на то, что в моем IIS не было привязки к IP-адресу, который я использую для VisualSvn, IIS все равно возьмет IP-адрес в заложники, если IIS явно не указано, какие IP-адреса следует слушать.
В Win Server 2k8 нет графического интерфейса пользователя для настройки IP-адресов для прослушивания IIS; по умолчанию IIS прослушивает все IP-адреса, назначенные серверу.
Следующее поможет настроить IIS для прослушивания только тех IP-адресов, которые вам нужны:
netsh
http
show iplisten
-> это покажет таблицу IP-адресов, которые IIS прослушивает. По умолчанию таблица будет пустой (я думаю, это означает, что IIS прослушивает все IP-адреса)add iplisten ipaddress=x.x.x.x
show iplisten
-> теперь вы должны увидеть все IP-адреса, добавленные в таблицу прослушивания.Каждую из этих команд также можно запустить напрямую, т. Е. netsh http show iplisten
Если вам нужно удалить IP-адрес из таблицы прослушивания:
netsh
http
delete iplisten ipaddress=x.x.x.x
Уже ответил там. Используйте следующую команду:
netsh http add iplisten ipaddress=x.x.x.39
Два отдельных процесса не могут связываться с одним и тем же портом по одному и тому же адресу.
Есть несколько вариантов: добавить второй IP-адрес к серверу или использовать обратный прокси-сервер, который может обслуживать оба сайта на 443 с помощью одного и того же процесса.