Подстановочное имя хоста в IIS Express + VS 2015

У меня есть приложение с несколькими арендаторами, доступ к которому производится в качестве customer.ourdomain.com. Для локального развития с помощью IIS мы используем настраиваемый подстановочный домен, company-localdev.com.

В IIS это работает без какой-либо конкретной конфигурации. С другой стороны, IIS Express привязывается только к localhost.

У нас есть постоянный проект миграции для ASP.NET 5, и мы хотели бы использовать IIS Express для более легкого опыта разработчиков.

Возможно ли, чтобы IIS Express прослушивал *.company-localdev.com:1234? Бонусные баллы, если это может быть автоматизировано, поэтому разработчик может заставить его работать, просто открыв решение в IIS.

Ответ 1

В ASP.NET 5/vNext файл конфигурации находится в

~ProjectFolder~/.vs/config/applicationhost.config

Оттуда вы можете добавить новые привязки, как объяснили rdans.

Ответ 2

Havent попробовал это с vs2015, но это работает с iis express в vs 2012.

перейдите в папку документов. Откройте IISExpress/config.applicationhost.config.

найдите тег xml-сайтов и найдите свой сайт. Вы можете изменить привязки вашего сайта отсюда следующим образом:

<bindings>
    <binding protocol="http" bindingInformation="*:1234:company-localdev.com" />
</bindings>

Отладка работает только для меня, если я запускаю visual studio в качестве администратора.

Ответ 3

Хорошо, я заработал на своей локальной машине, вот все, что я должен был предпринять:

  • Перейдите к {YourProjectFolder}\.vs\config и отредактируйте Файл applicationhost.config:

        <site name="MySite" id="2">
            <application path="/" applicationPool="Clr4IntegratedAppPool">
                <virtualDirectory path="/" physicalPath="{MyProjectFolderPath}" />
            </application>
            <bindings>
                <binding protocol="http" bindingInformation="*:49861:localhost" />
                <binding protocol="http" bindingInformation="*:80:example.com" />
                <!-- for subdomain testing only -->
                <binding protocol="http" bindingInformation="*:80:sub1.example.com" />
                <binding protocol="http" bindingInformation="*:80:sub2.example.com" />
            </bindings>
        </site>
    
  • Запустите "Блокнот" в качестве "Администратор" и перейдите в C:\Windows\System32\drivers\etc, чтобы открыть файл хостов и изменить его так:

    127.0.0.1 example.com
    127.0.0.1 sub1.example.com
    127.0.0.1 sub2.example.com

  • Добавьте резервирование URL, запустив cmd.exe в качестве администратора и введите в командной строке netsh http (чтобы получить приглашение netsh http>, вы должны ввести netsh, а затем Enter, затем http, а затем Enter):

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

    add urlacl url=http://sub1.example.com:80/ user=everyone

    add urlacl url=http://sub2.example.com:80/ user=everyone

Помните, что ключевое слово everyone зависит от языка вашей ОС Windows. На французской ОС user=everyone следует заменить на user="Tout le monde", на немецкой ОС это должно быть user=jeder, на испанском языке user=todos и т.д.... вы получите эту идею.

  1. Затем после этого вы сможете начать отладку и перейти к домену, который вы настроили, чтобы увидеть ваш сайт.

Надеюсь, что это поможет.