Використання користувацьких доменів за допомогою IIS Express


304

Традиційно я використовую власні домени на своєму сервері розробки localhost. Щось у напрямку:

dev.example.com
dev.api.example.com

Це дало мені можливість гнучкості при роботі із зовнішніми API, такими як Facebook. У минулому це чудово працювало із вбудованим сервером розвитку Visual Studio, тому що мені потрібно було лише додати CNAME до тих записів DNS, на які вказують 127.0.0.1.

Однак мені не вдалося змусити це працювати з IIS Express. Все, що я спробував, здається, не вдалося. Я навіть додав правильний конфігурацію XML до applicationHost.configфайлу для IIS Express, але він, схоже, не визнає записи такими, що були дійсними, як істинна установка IIS.

<binding protocol="http" bindingInformation="*:1288:dev.example.com" />

Щоразу, коли я ввожу цей рядок і намагаюся подати запит, http://dev.example.com:1288я отримую таке повідомлення:

Неправильний запит - неправильне ім'я хоста

Хтось знає, якщо я пропускаю щось очевидне? Або команді IIS Express дійсно не вистачало передбачуваності, щоб побачити такий тип використання?


Переконайтеся, що у вас є атрибут applicationPool вузла програми встановлений на "Clr2IntegratedAppPool" або "Clr4IntegratedAppPool". У мене з’явилася помилка Bad Hostname, яку ви бачите під час використання "Clr2ClassicAppPool" або "Clr4ClassicAppPool".
Ніл Монро

плутати - записи CNAME не приймають ip-адреси, а інші імена хостів. Ви мали на увазі рекорд?
Скотт Коутс

1
У мене було багато проблем з цим, і мені стало набагато простіше просто використовувати IIS замість IIS Express
user0b101010

Я просто натрапив і на це. Я сподівався, що він просто перегляне номер порту та проігнорує домен. Такої удачі немає. Бажаю, щоб я міг дозволити "прийняти всіх" у порту ....
Брейді Моріц

Голосуйте зараз! Я додав пропозицію UserVoice: visualstudio.uservoice.com/forums/121579-visual-studio/…
Люк Пуплетт

Відповіді:


367

Це те, що працювало для мене (Оновлено для VS 2013, див. Історію версій за 2010 рік, для VS 2015 див. Це: https://stackoverflow.com/a/32744234/218971 ):

  1. Клацніть правою кнопкою миші Ваш проект веб-додатків ▶ PropertiesWeb, а потім налаштуйте Serversрозділ так:
    • Виберіть IIS Express ▼зі спадного меню
    • URL-адреса проекту: http://localhost
    • Заміна URL-адреси кореня програми: http://dev.example.com
    • Клацніть Create Virtual Directory(якщо ви отримаєте помилку тут, можливо, вам буде потрібно відключити IIS 5/6/7/8, змінити IIS Default Siteна що-небудь, крім порту :80, переконайтесь, що Skype не використовує порт 80 тощо)
  2. Необов'язково: Встановіть Start URLвhttp://dev.example.com
  3. Відкрийте %USERPROFILE%\My Documents\IISExpress\config\applicationhost.config(Windows XP, Vista та 7) та відредагуйте визначення сайту в <sites>блоці конфігурацій відповідно до наступного:

    <site name="DevExample" id="997005936">
        <application path="/" applicationPool="Clr2IntegratedAppPool">
            <virtualDirectory
                path="/"
                physicalPath="C:\path\to\application\root" />
        </application>
        <bindings>
            <binding
                protocol="http"
                bindingInformation=":80:dev.example.com" />
        </bindings>
        <applicationDefaults applicationPool="Clr2IntegratedAppPool" />
    </site>
    
  4. Якщо ви працюєте з MVC: переконайтеся, що параметр applicationPoolвстановлено на один із параметрів "Інтеграції" (наприклад, "Clr2IntegratedAppPool").

  5. Відкрийте hostsфайл і додайте рядок 127.0.0.1 dev.example.com.
  6. ► Start ваша заявка!

Деякі чудові поради з коментарів:

  • Вам може знадобитися запустити Visual Studio як адміністратор.
  • Якщо ви хочете зробити інші диски, перегляньте свій IIS netsh http add urlacl url=http://dev.example.com:80/ user=everyone
  • Якщо ви хочете, щоб сайт вирішив для всіх хостів bindingInformation="*:80:". Використовуйте будь-який порт, який хочете, 80 - просто зручно.

12
Це саме те, що я зробив, збирався написати це, але ви побили мене до удару :-) В якості бічної записки, якщо ви хочете дозволити іншим дияволам побачити ваш IIS, ви можете зробити щось на кшталт "netsh http add urlacl url = dev.example.com:80 користувач = кожен "
EBarr

6
Крім того, якщо ви хочете, щоб сайт мав дозвіл для всіх хостів, ви можете використовувати :indingInformation = "*: 80:" Я використовую це, щоб localtunnel.com працює.
Ленс Фішер

17
Мені було допущено помилку в доступі. Запуск VS 2012 як виправлений адміністратором.
xanadont

3
яка версія IIS Express це? Я запускаю VS2012 (який, на мою думку, є IIS Express 8.0), і коли я натискаю на кнопку "Використовувати локальний сервер IIS" у розділі "Сервери" сторінки веб-властивостей, клацніть прапорець Використовувати IIS Express, а потім спробуйте щоб помістити " mydev.example.com ", потім натисніть кнопку "Створити віртуальний каталог", я отримаю цю помилку "Неможливо створити віртуальний каталог. Неможливо створити веб-сайт mydev.example.com". Ви повинні вказати "localhost" для імені сервера.
Майкл Маккарті

12
Це складно. Потрібно змінити набори в декількох різних місцях. Зробити справжній безлад легко. Невже немає простого способу?
Андерсон

151

Для Visual Studio 2015 застосовуються кроки у наведених вище відповідях, але applicationhost.configфайл знаходиться в новому місці. У вашій папці "рішення" слідкуйте за цим шляхом, це заплутано, якщо ви оновили і applicationhost.configна вашій машині були б дві версії .

\.vs\config

У цій папці ви побачите файл applicationhost.config

Крім того, ви можете просто шукати папку рішення для файлу .config і знаходити його таким чином.

Я особисто використовував таку конфігурацію:

введіть тут опис зображення

У моєму файлі хостів є таке:

127.0.0.1       jam.net
127.0.0.1       www.jam.net

А в моєму файлі applicationhost.config:

<site name="JBN.Site" id="2">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Dev\Jam\shoppingcart\src\Web\JBN.Site" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:49707:" />
            <binding protocol="http" bindingInformation="*:49707:localhost" /> 
    </bindings>
</site>

Не забудьте запустити свій примірник візуальної студії 2015 як адміністратор! Якщо ви не хочете робити це кожен раз, коли я рекомендую це:

Як запустити Visual Studio як адміністратора за замовчуванням

Я сподіваюся, що це комусь допоможе, у мене виникли проблеми, коли я намагався перейти на візуальну студію 2015 і зрозумів, що жодна моя конфігурація не переноситься.


9
Важливою частиною є додавання другого *:49707:прив'язки замість заміни за замовчуванням, *:49707:localhostяк пропонується у багатьох інших відповідях. І вам доведеться запустити VS як адміністратор, справді (sic!). Дякую.
fracz

3
Ви також можете використовувати URL, наприклад, http://jam.127.0.0.1.xip.io/якщо ви не хочете змінювати файл хостів. Крім того, будь-яким співробітникам не потрібно буде змінювати своїх. Див xip.io .
Зак Мартін

1
Думаю, варто зазначити, що папка ".vs" прихована і її слід зробити видимою спочатку
Розчарований

3
Я підтвердив, що це працює і у Visual Studio 2017. Цікаво, що мені не знадобилися обидва <прив'язування> елемента (лише перший без "localhost"). Visual Studio, однак, безумовно, повинен працювати в якості адміністратора, що щось дратує
Лорен Полсен

1
Я просто хотів би, щоб це було для тих із нас, кому не дозволено нічого керувати адміністративно. Роботодавці / клієнти, які забороняють привілей адміністратора, не замислюючись над тим, як вони могли б безпечно це зробити, неймовірно короткозорі.
Стів Петтіфер

44

Під час використання Visual Studio 2012 з IIS Express, зміна існуючої прив'язки не працює назавжди. (Це може працювати до тих пір, поки ви не закриєте VS, але після цього речі дійсно зіпсуються.)

Ключовим моментом є збереження наявного localhost прив’язки та додавання нового прив'язки після нього.

Якщо ви не працюєте в якості адміністратора, вам також потрібно буде запустити netsh add urlacl(щоб надати собі дозволи для запуску сайту, який не є localhost, як стандартний користувач).

Якщо ви хочете дозволити будь-яке ім’я хоста, повний процес полягає в наступному:

  1. Створіть веб-додаток і дізнайтеся, який порт він використовує (див. Властивості проекту, веб-вкладка, URL-адреса проекту).
  2. Від адміністратора невідкладного, виконайте наступні команди (заміна номер_порту з номером порту, з'ясовував в # 1):

    netsh http add urlacl url="http://*:portnumber/" user=everyone
    netsh http add urlacl url="http://localhost:portnumber/" user=everyone
    

Ви також можете використовувати своє ім’я користувача (DOMAIN \ USER) замість усіх для кращої безпеки.

  1. Відкрийте applicationhost.config (зазвичай в розділі Мої документи \ IIS Express \ config) та знайдіть елемент із номером вашого порту.
  2. Додайте ще одне прив'язування до потрібного імені хоста (у цьому випадку *). Наприклад:

    <site name="MvcApplication1" id="2">
        <application path="/" applicationPool="Clr4IntegratedAppPool">
            <virtualDirectory path="/" physicalPath="C:\sites\MvcApplication1" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:12853:localhost" />
            <binding protocol="http" bindingInformation="*:12853:*" />
        </bindings>
    </site>
    

Зауважте, що якщо ви хочете відкрити всі імена хостів (*), вам знадобляться дві команди netsh (одна для * і одна для localhost). Якщо ви хочете відкрити лише певне ім'я хоста, вам не потрібно суворо потрібна друга команда netsh (localhost); достатньо лише одного з вашим конкретним іменем хоста.


Зробив те саме (1-й підхід), переглядаючи mycustomhost: myportnr, я отримую "Сервіс недоступний". VS2012. Я не можу спробувати 2-й, оскільки немає розділу IIS Express у розділі "Мої документи" та applicationhost.config, який я знайшов у c: \ програмні файли \ IIS Express не мав конфігурації для мого веб-додатку ...
firepol

2
З VS2013 я вважаю, що ця конфігурація працює лише в тому випадку, коли я запускаюсь як адміністратор! (Працюючи як не адміністратор, IIS Express, здається, ігнорує друге прив'язку - якщо я відкрию його інтерфейс користувача із піктограми сповіщень, IIS показує мій сайт як запущений, але показує лише першу прив'язку, і я можу використовувати лише localhost ... Якщо Я працюю як адміністратор, він показує обидва прив’язки в інтерфейсі користувача, і обидва працюють.) Я додав urlacls з netsh, але це, мабуть, не має ніякого значення - IIS Express, здається, навіть не намагається зв'язати нічого, крім localhost якщо він не підвищений.
Ян Гріффітс

Додавання запису за допомогою * розв’язаним "Сервісом недоступним" його для мене.
jerone

А як щодо сценарію, що вам потрібно використовувати HTTPS на порт 443?
Кіксока

@Kixoka Я намагаюся запустити HTTPS. Мені вдалося змусити його працювати, але браузер скаржиться, що сертифікат не відповідає домену. Я проходжу це, але всі ресурси потім не завантажуються, тому жодних зображень, скриптів чи CSS.
Prime By Design

24

Недійсне ім'я хоста вказує на те, що фактичний сайт, який ви налаштували у файлі конфігурації IIS Express, (швидше за все) не працює. IIS Express не має моделі процесів, як IIS.


Щоб ваш веб-сайт запускався, його потрібно запустити явно (або відкривши доступ до нього з веб-матриці, або з командного рядка, викликаючи iisexpress.exe (з його інсталяційного каталогу) з параметром / site.


Загалом, кроки, щоб дозволити використовувати повністю кваліфіковані імена DNS для локального доступу: Давайте використаємо ваш приклад імені DNS dev.example.com

  1. відредагуйте% Windows% \ system32 \ driver \ etc \ hosts файл, щоб відобразити файл dev.example.com на 127.0.0.1 (потрібна привілей адміністратора). Якщо ви керуєте сервером DNS (як у випадку Ніка), то запису DNS достатньо, оскільки цей крок не потрібен.
  2. Якщо ви отримуєте доступ до Інтернету через проксі, переконайтеся, що dev.example.com не буде заблокований до проксі (ви повинні внести його до списку виключень у своєму браузері (для IE це буде Інструменти / Параметри Інтернету / Підключення / Налаштування Lan), потім перейдіть на проксі-сервер / розширений і поставте dev.example.com у список винятку.
  3. Налаштуйте прив'язку IIS Express для свого сайту (наприклад: Site1), щоб включити dev.example.com. Для використання прив'язки знадобиться адміністративний привілей. Крім того, одноразове бронювання URL-адреси можна здійснити за допомогою http.sys, використовуючи

    netsh http add urlacl url=http://dev.example.com:<port>/ user=<user_name>

  4. запустити iisexpress /site:Site1або відкрити Site1 у WebMatrix


2
Привіт Яро, дякую за допомогу, але 127.0.0.1 встановлений у моєму DNS, а не у файлі хостів, так що всі розробники мають однаковий доступ. По-друге, я не можу його запустити налагодження у VS, якщо прив'язка не встановлена ​​як "*: 1234: localhost", що є абсолютно марною установкою, оскільки вона прив’язана до всіх IP-адрес на моїй машині, але приймає лише заголовки хостів "localhost ". Чому вони просто не зробили "127.0.0.1:1234:" і не уникнули всього цього лайна. Заголовки хостів не потрібні до тих пір, поки IP-адреса та порт вирішаться. А біг як Адмін - це просто величезний біль у попці для великої команди. Що таке катастрофа IIS Express.
Нік Берарді

1
Також як посилання Bad Request - Invalid Hostnameозначає, що ім'я хоста, яке я намагаюся використовувати, не може вирішити, оскільки команда IIS Express у своїй безмежній мудрості вирішила спеціально викликати "localhost" як єдиний заголовок хоста, який би працював. І VS не дозволить вам запустити його іншим способом, окрім "*: 1234: localhost"
Нік Берарді

2
Я чую вас щодо випуску 127.0.0.1. "Localhost" у прив'язці, безумовно, є болем, оскільки не включає трафік для 127.0.0.1 . Конструкція обмежена сьогоднішнім договором http.sys (обробник протоколу http), який визнає лише "localhost" для не адміністративного використання. Вимогу лише адміністратора можна пом'якшити одноразовим бронюванням URL-адреси за допомогою http.sys (оновить інформацію вище). Будь ласка, повідомте мені, що ви точно користуєтеся Visual Studio (це VS2010 із SP1 Beta?). Спробуємо ще трохи попрацювати над цим питанням і (сподіваємось) вирішити це питання.
Яро Дунайський

Примітка - якщо ви бачите помилку netsh.exe 87, параметр невірний - це може бути через те, що ви пропустили шлях URI (/) після імені хоста.
Тім Ловелл-Сміт

19

На моїй WebMatrix IIS Express інсталяція змінилася з "*:80:localhost"на "*:80:custom.hostname"не працювала ("Неправильне ім'я хоста", навіть при правильному відображенні etc \ hosts), але все "*:80:" ж спрацювало - і жоден із додаткових кроків, необхідних для інших відповідей тут. Зверніть увагу, що "*:80:*"це не буде робити; залиште другу зірочку.


3
uuuum, так "*:80:*"працював для мене, але потім я перезапустив комп'ютер, і він раптом не працюватиме, поки я не змінив його "*:80:"і все було добре! Дякую.
CWS з'являється

2
Нарешті !! Також виконайте всі кроки в іншому місці, і видалення * в кінці змусило його працювати, дякую!
Чарльз Філіп

Просто тут, щоб сказати, що це працювало на мене. Я спробував прийняту відповідь і повернув всі зміни до того, що ви сказали, і все чудово працює. Я використовую VS2013 Update4.
JasonWilczak

Здається, це прекрасно працює. Під час використання VS2017 я не впевнений, що розмістити у URL-адресі проекту, щоб він написав це у файлі applicationhost.config? Чи можливо встановити через VS IDE?
Джим

8

Я намагався інтегрувати загальнодоступну IP-адресу у свій робочий процес, і ці відповіді не допомогли (мені подобається використовувати IDE як IDE). Але вищесказане підштовхує мене до рішення (приблизно через 2 години, коли я бив головою об стіну, щоб змусити це інтегруватися з Visual Studio 2012 / Windows 8) ось, що закінчилося для мене.

applicationhost.config, згенерований VisualStudio підC:\Users\usr\Documents\IISExpress\config

    <site name="MySite" id="1">
        <application path="/" applicationPool="Clr4IntegratedAppPool">
            <virtualDirectory path="/" physicalPath="C:\Users\usr\Documents\Visual Studio 2012\Projects\MySite" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:8081:localhost" />
            <binding protocol="http" bindingInformation="*:8082:localhost" />
            <binding protocol="http" bindingInformation="*:8083:192.168.2.102" />
        </bindings>
    </site>
  • Встановіть IISExpress для запуску як Administrator так, щоб він міг прив'язуватися до зовнішніх адрес (а не до локального хоста)
  • Запустіть Visual Stuio як Administratorтакий, щоб він міг запустити процес як адміністратор, що дозволить здійснити прив'язку.

Чистий результат - ви можете переглядати 192.168.2.102 в моєму випадку і тестувати (наприклад, в емуляторі Android. Я дуже сподіваюся, що це допомагає комусь іншому, оскільки це, безумовно, дратувало процес для мене.

Мабуть, це функція безпеки, яку я хотів би бачити інвалідом.


8

Як і Джесса Флінт вище , я не хотів вручну редагувати .vs \ config \ applicationhost.config, тому що я хотів, щоб зміни зберігалися в контролі джерела. Я також не хотів мати окремий пакетний файл. Я використовую VS 2015 .

Властивості проекту → Створення подій → Командний рядок попередньої збірки подій: Знімок екрана властивостей проекту


::The following configures IIS Express to bind to any address at the specified port

::remove binding if it already exists
"%programfiles%\IIS Express\appcmd.exe" set site "MySolution.Web" /-bindings.[protocol='http',bindingInformation='*:1167:'] /apphostconfig:"$(SolutionDir).vs\config\applicationhost.config"

::add the binding
"%programfiles%\IIS Express\appcmd.exe" set site "MySolution.Web" /+bindings.[protocol='http',bindingInformation='*:1167:'] /apphostconfig:"$(SolutionDir).vs\config\applicationhost.config"

Просто переконайтеся, що ви змінили номер порту на потрібний порт.


Одне незначне доповнення тут. Обов’язково створіть правила, щоб відкрити цей порт у брандмауері Windows. Тоді це спрацювало як шарм!
Пітер М

Мені подобається ваша відповідь, тому що редагування .vs \ config \ applicationhost.config неможливо, коли кілька розробників запускають IIS Express на власних машинах. Дякую!
Колін

6

Відповідь, що голосує, є вірною .. і ця інформація мені дуже допомогла. Я знаю, що ця тема обговорювалася раніше, але я хотів додати додатковий вклад. Люди говорять, що потрібно "вручну редагувати" файл application.config у каталозі Користувачі IISExpress / Config. Це було великою проблемою для мене, тому що я хотів поширити конфігурацію через Source Source для різних розробників.

Я знайшов, що ви можете автоматизувати оновлення цього файлу за допомогою програми "C: \ Program Files \ IIS Express \ appcmd.exe". Минув деякий час, щоб з'ясувати параметри управління, але я поділяюсь своїми висновками тут. По суті, ви можете створити .bat файл, який виконує як команду NETSH, так і APPCMD.EXE (і, можливо, замінити хост-файл, якщо хочете), щоб полегшити конфігурацію заголовка хоста за допомогою IIS Express.

Ваш файл встановлення bat виглядатиме приблизно так:

netsh http add urlacl url=http://yourcustomdomain.com:80/ user=everyone 

"C:\Program Files\IIS Express\appcmd.exe" set site "MyApp.Web" /+bindings.[protocol='http',bindingInformation='*:80:yourcustomdomain.com']

Я також зроблю файл "bat Uninstall" bat, який очистить ці прив'язки .. (тому що часто я просто підробляю DNS, щоб я міг працювати над кодом, який чутливий до імені хоста)

netsh http delete urlacl url=http://yourcustomdomain.com:80/

"C:\Program Files\IIS Express\appcmd.exe" set site "MyApp.Web" /-bindings.[protocol='http',bindingInformation='*:80:yourcustomdomain.com']

Я сподіваюся, що ця інформація комусь корисна. Мені потрібно було трохи розкрити.


4

Слідуючи порадам Яро, я зміг домогтися цього роботи під Windows XP та IIS Express (встановлені через Web Matrix) з невеликою модифікацією і не обмежувався лише localhost. Це лише питання правильної установки прив’язок.

  1. Використовуйте WebMatrix для створення нового сайту з папки в корені веб-додатків.
  2. Закрийте WebMatrix.
  3. Відкрийте %USERPROFILE%\My Documents\IISExpress\config\applicationhost.config (Windows XP. Шляхи до Vista та 7 будуть схожими) та відредагуйте визначення сайту в <sites>блоці конфігурацій, щоб відповідати наступним чином:

    <site name="DevExample" id="997005936">
        <application path="/" applicationPool="Clr2IntegratedAppPool">
            <virtualDirectory
                path="/"
                physicalPath="C:\path\to\application\root" />
        </application>
        <bindings>
            <binding
                protocol="http"
                bindingInformation="*:80:dev.example.com" />
        </bindings>
        <applicationDefaults applicationPool="Clr2IntegratedAppPool" />
    </site>

Якщо ви працюєте з MVC, то тримайте applicationPool встановленим одним із параметрів "Інтегрований".


3

Рішення Девіда добре. Але я виявив, що <script>alert(document.domain);</script>на сторінці все ще сповіщається про "localhost", оскільки URL-адреса проекту все ще є localhost, навіть якщо він був переопрацьований http://dev.example.com. Інша проблема, з якою я стикаюся, полягає в тому, що він попереджає, що порт 80 вже використовується, навіть якщо я відключив Skype, використовуючи номер 80-порту, як рекомендував Девід Мердок. Тому я придумав ще одне рішення, яке набагато простіше:

  1. Запустіть Блокнот як адміністратор та відкрийте C: \ Windows \ System32 \ драйвери \ тощо \ хости, додайте мій домен 127.0.0.1 та збережіть файл;
  2. Відкрийте веб-проект за допомогою Visual Studio 2013 (Примітка: також потрібно запустити як адміністратор), клацніть правою кнопкою миші проект -> Властивості -> Веб (припустимо, що URL-адреса проекту під опцією "IIS Express" є http://localhost:33333/), а потім змініть її на http://localhost:33333/доhttp://mydomain:333333/ зауваження: Після цієї зміни ви не повинні ні натискати кнопку "Створити віртуальний каталог" праворуч від вікна Project Url, ні натискати кнопку "Зберегти" Visual Studio, оскільки вони не будуть успішними. Ви можете зберегти свої налаштування після наступного кроку 3.
  3. Відкрийте% USERPROFILE% \ Мої документи \ IISExpress \ config \ applicationhost.config, знайдіть "33333: localhost", а потім оновіть його до "33333: мій домен" та збережіть файл.
  4. Збережіть налаштування, як зазначено в кроці 2.
  5. Клацніть правою кнопкою миші веб-сторінку вашої візуальної студії та натисніть «Переглянути в браузері». Тепер сторінка буде відкрита під http://mydomain:333333/, і <script>alert(document.domain);</script>на сторінці буде попереджено "мідомен".

Примітка . Перелічений вище номер порту вважається 33333. Потрібно змінити його на номер порту, встановлений вашою візуальною студією.

Публікація відредагована: Сьогодні я спробував із іншим доменним іменем і отримав таку помилку: Не вдається запустити веб-сервер IIS Express. Не вдалося зареєструвати URL ... Доступ заборонено. (0x80070005) . Я виходжу з IIS Express, клацнувши правою кнопкою миші піктограму IIS Express у правому куті на панелі завдань Windows, а потім знову запускаю свою візуальну студію як адміністратор, і проблеми вже немає.


1
тепер це відповідь, яку слід вважати правильним рішенням! Переконайтесь, що ви редагуєте applicationhost.config, розміщений у .vs / config, якщо ви використовуєте візуальну студію 2015.
Fabio Salvalai,

1

Я спробував усе вище, нічого не вийшло. Що вирішило проблему, було додавання прив’язок IPv6 у файл хостів. На кроці 5 відповіді @David Murdochs додайте два рядки замість одного, тобто:

127.0.0.1 dev.example.com
::1 dev.example.com

Я зрозумів це, перевіривши $ ping localhostз командного рядка, який використовувався для повернення:

Reply from 127.0.0.1: bytes=32 time<1ms TTL=128

Натомість тепер він повертає:

Reply from ::1: time<1ms

Не знаю чому, але чомусь IIS Express почав використовувати IPv6 замість IPv4.



0

Залишаючи це тут на всякий випадок, коли комусь потрібно ...

Мені потрібно було мати власні домени для установки Wordpress Multisite в IIS Express, але нічого не працювало, поки я не запустив Webmatrix / Visual Studio в якості адміністратора. Тоді я зміг прив’язати субдомени до тієї самої програми.

<bindings> 
    <binding protocol="http" bindingInformation="*:12345:localhost" />
    <binding protocol="http" bindingInformation="*:12345:whatever.localhost" />
</bindings>

Тоді перехід на http: //wwhat.localhost: 12345 / запуститься.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.