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