Is it possible to use custom host headers / bindings with IIS7 Express?

落爺英雄遲暮 提交于 2019-12-03 05:54:57

问题


I'm trying to configure a new ASP.NET MVC3 using IIS7 express (on my local development machine) to use a custom domain name.

eg.

  1. my local dev machine.
  2. kick open my web browser
  3. goto http://dev.www.mydomain.com
  4. my visual studio mvc project kicks in

I've hacked my hosts file to include (yes, i saved the file .. which also meant i had to have admin rights enabled ...

127.0.0.1 dev.www.mydomain.com

I just can't figure out how to use IIS7 express to get configured to do this.

I went to MVC Project => Properties => Web and did the following :-

Then tried to run the site...

Can anyone help?


回答1:


  1. Stop currently running site if it is running

  2. Open %userprofile%\documents\iisexpress\config\applicationhost.config
    for VS2015+ :$(solutionDir)\.vs\config\applicationhost.config

  3. Locate the site you are interested in and it would have a binding like

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

  4. Now add a similar entry <binding protocol="http" bindingInformation="*:<your-port>:dev.www.mydomain.com" /> just below the above bindig entry.

  5. run the site again

NOTE: You must start visual studio as administrator because non-localhost binding requires administrator privileges


Update By Pure Krome:

Further to this, we need to do the following. These comments are in the top of my web.config (along with a few other stuff...).

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>



回答2:


I have successfully been able to accomplish debugging an IIS7-bound site similar to the above. The only step it appears you are missing is within your project:

  1. Select Project => [Project] Properties from the menu
  2. Click the "Web" section
  3. Select the "Use Custom Web Server" option, and set Server Url to "http://dev.www.my-domain.com"


来源:https://stackoverflow.com/questions/5338184/is-it-possible-to-use-custom-host-headers-bindings-with-iis7-express

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!