是否可以在IIS7 Express中使用自定义主机标头/绑定?

时间:2011-03-17 11:09:55

标签: .net visual-studio-2010 iis-express visual-studio-2010-sp1

我正在尝试使用 IIS7 express (在我的本地开发计算机上)配置新的 ASP.NET MVC3 以使用自定义域名

例如

  1. 我的本地开发机器。
  2. 打开我的网络浏览器
  3. 转到http://dev.www.mydomain.com
  4. 我的visual studio mvc项目开始了
  5. 我已经攻击了我的主机文件以包含(是的,我保存了文件..这也意味着我必须启用管理员权限...

    127.0.0.1 dev.www.mydomain.com
    

    我无法弄清楚如何使用IIS7 express配置来执行此操作。

    我去了MVC Project => Properties => Web并做了以下事情: - enter image description here

    然后尝试运行该网站... enter image description here

    有人可以帮忙吗?

2 个答案:

答案 0 :(得分:18)

  1. 如果网站正在运行,请停止当前正在运行的网站

  2. 打开%userprofile%\documents\iisexpress\config\applicationhost.config
    对于VS2015 +:$(solutionDir)\.vs\config\applicationhost.config

  3. 找到您感兴趣的网站,它将具有类似

    的绑定

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

  4. 现在在上面的bindig条目下面添加一个类似的条目<binding protocol="http" bindingInformation="*:<your-port>:dev.www.mydomain.com" />

  5. 再次运行该网站

  6. 注意:您必须以管理员身份启动visual studio,因为非localhost绑定需要管理员权限


    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>
    

答案 1 :(得分:-1)

我已经成功地完成了与上述类似的IIS7绑定站点的调试。您失踪的唯一步骤是在您的项目中:

  1. 选择Project =&gt; [项目]菜单中的属性
  2. 点击“网络”部分
  3. 选择“使用自定义 Web服务器”选项,并将服务器URL设置为“http://dev.www.my-domain.com”