1 После редактирования файла applicationhost.config (находится в папке IISExpress в ваших документах) привязки вашего сайта должны выглядеть следующим образом:
<bindings>
<binding protocol="http" bindingInformation="*:8080:*" />
</bindings>
Привязки состоят из трех частей.Во-первых, IP-адрес или список, или, как в этом случае, подстановочный знак.Во-вторых, номер порта и, в-третьих, имя хоста, или список, или подстановочный знак (для фильтрации по заголовку Host
).Для целей разработки подстановочный знак здесь наиболее подходит, так как вы, вероятно, будете использовать уникальный порт.
2 Поскольку вы используете привязку без локального хоста, требуются дополнительные разрешения.Вы можете запустить VS от имени администратора или, желательно, добавить URL ACL , чтобы предоставить необходимые разрешения.В приведенном ниже примере разрешение дано каждому, но вы можете использовать свое собственное имя пользователя.
Примечание: urlacl
должно точно соответствовать привязке.Таким образом, urlacl
для 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"