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"