Можно ли использовать пользовательские заголовки / привязки хоста с IIS7 Express? - PullRequest
16 голосов
/ 17 марта 2011

Я пытаюсь настроить новый ASP.NET MVC3 , используя IIS7 express (на моей локальной машине разработки) для использования пользовательского доменного имени .

например.

  1. мой локальный компьютер разработчика.
  2. откройте мой веб-браузер
  3. goto http://dev.www.mydomain.com
  4. myПроект Visual Studio MVC запускается

Я взломал свой файл hosts для включения (да, я сохранил файл .. что также означало, что мне нужно было включить права администратора ...

127.0.0.1 dev.www.mydomain.com

Я просто не могу понять, как использовать IIS7 Express для настройки для этого.

Я пошел на MVC Project => Properties => Web и сделал следующее: - enter image description here

Потом попробовал запустить сайт ... enter image description here

Может кто-нибудь помочь?

Ответы [ 2 ]

18 голосов
/ 17 марта 2011
  1. Остановить текущий запущенный сайт, если он работает

  2. Открыть %userprofile%\documents\iisexpress\config\applicationhost.config
    для VS2015 +: $(solutionDir)\.vs\config\applicationhost.config

  3. Найдите интересующий вас сайт, и он будет иметь привязку, такую ​​как

    <binding protocol="http" bindingInformation="*:<your-port-number>:localhost" />

  4. Теперь добавьте похожую запись <binding protocol="http" bindingInformation="*:<your-port>:dev.www.mydomain.com" /> чуть нижеПриведенная выше запись bindig.

  5. снова запустить сайт

ПРИМЕЧАНИЕ. Вы должны запустить Visual Studio от имени администратора, поскольку привязка без локального хоста требует прав администратора


Обновление по Pure Krome:

В дополнение к этому нам нужно сделать следующее.Эти комментарии находятся в верхней части моего web.config (вместе с несколькими другими вещами ...).

1) netsh http add urlacl url=http://localhost.www.foo.com:80/ user=everyone
   netsh http add urlacl url=http://localhost.foo.com:80/ user=everyone
   netsh http add urlacl url=http://localhost.foobar.com.au:80/ user=everyone
   netsh http add urlacl url=http://localhost.pewpew.com:80/ user=everyone
   ... etc ... 
   NOTE: to remove a urlacl: netsh http delete urlacl url=<url in here> .. eg http://foo.com:80

2) ... and we need to edit the main IIS7 express config file to define the url's which will be accepted, per web -site-
    File: C:\Users\<UserName>\Documents\IISExpress\config\applicationhost.config
<bindings>
    <binding protocol="http" bindingInformation="*:1200:localhost" />
    <binding protocol="http" bindingInformation="*:80:localhost.www.foo.com" />
    <binding protocol="http" bindingInformation="*:80:localhost.foo.com" />
    <binding protocol="http" bindingInformation="*:80:localhost.foobar.com.au" />
    <binding protocol="http" bindingInformation="*:80:localhost.pewpew.com" />
</bindings>
0 голосов
/ 10 мая 2011

Мне удалось выполнить отладку сайта, связанного с IIS7, аналогичного описанному выше. Единственный шаг, который, по-видимому, вам не хватает, находится в вашем проекте:

  1. Выберите Project => [Project] Properties из меню
  2. Нажмите на раздел «Сеть»
  3. Выберите параметр «Использовать Пользовательский Веб-сервер» и установите для URL-адреса сервера значение «http://dev.www.my -domain.com»
...