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"