1 После редактирования файла applicationhost.config (расположенного в папке IISExpress в ваших документах) привязки вашего сайта должны выглядеть следующим образом:
<bindings>
<binding protocol="http" bindingInformation="*:8080:*" />
</bindings>
Переплеты состоят из трех частей. Сначала IP-адрес или список, или, как в данном случае, подстановочный знак. Во-вторых, номер порта и, в-третьих, имя хоста, или список, или подстановочный знак (для фильтрации по Hostзаголовку). Для целей разработки здесь больше всего подходит подстановочный знак, поскольку вы, вероятно, будете использовать уникальный порт.
2 Поскольку вы используете привязку, отличную от localhost, требуются дополнительные разрешения. Вы можете запустить VS от имени администратора или, желательно, добавить списки ACL URL для предоставления необходимых разрешений. В приведенном ниже примере разрешение предоставляется всем, но вы можете использовать свое собственное имя пользователя.
Примечание . urlaclДолжен точно соответствовать переплету. Таким образом, urlaclfor http://*:8080разрешит привязку *:8080:*, но не привязку, *:8080:localhostдаже если последнее является подмножеством первого. это означает, что если вместо использования подстановочного знака вы указываете заголовки хоста applicationhost.config, вы должны добавить соответствие urlaclдля каждого из них.
Действия по настройке HTTP.sys для внешнего трафика аналогичны настройке сайта для использования зарезервированного порта. В Windows 7 или Windows Vista из командной строки с повышенными привилегиями выполните следующую команду:
netsh http add urlacl url=http://*:8080/ user=DOMAIN\username
В Windows XP выполните следующую команду из командной строки с повышенными привилегиями:
httpcfg set urlacl /u http://*:8080/ /a D:(A;;GX;;;WD)
Примечание 2. Если запуск VS от имени администратора или добавление записей ACL не решает вашу проблему, запустите IIS Express из командной строки и проверьте, есть ли сообщения об ошибке регистрации привязки. Чтобы начать работу из командной строки, введите эту команду:
iisexpress.exe /site:"your-site-name"
3 Наконец, вам потребуются соответствующие записи брандмауэра. Для этого проще всего использовать консоль «Брандмауэр Windows в режиме повышенной безопасности».
В разделе «Правила для входящих подключений» выберите «Новое правило ...».
- Тип правила - «Пользовательский».
- Программа: Службы-> Настроить ...-> Применить только к службам. (Хотя IIS Express не является службой, но мультиплексор HTTP, который он использует, есть).
- Протокол TCP
- Конкретные порты: перечислите все порты для всех ваших привязок IIS Express. Вы можете вернуться к этому правилу и добавить порты в любое время. (Если это становится утомительным, вы можете добавить диапазон, например,
40000-65534который охватывает весь диапазон, используемый Visual Studio, но имейте в виду, что это менее безопасно).
- Действие - «Разрешить соединение».
- Профиль будет одним из следующих. Если сомневаетесь, выберите «Домен + частный».
- "Домен", если у вас корпоративный рабочий стол и он будет работать только в локальном домене.
- «Домен + частный». Если у вас частная машина для разработки в некорпоративной среде, или корпоративный ноутбук, который также должен работать из дома.
- «Домен, частный и общедоступный», если вам нужно проводить демонстрации в не частных сетях.
- Имя должно иметь вид «IIS Express Dev Server».