使用IIS Express自定义域名

14 浏览
0 Comments

使用IIS Express自定义域名

传统上,我在本地开发服务器上使用自定义域名。类似于:

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

这为我在使用外部API(如Facebook)时提供了很大的灵活性。在过去,这在集成的Visual Studio开发服务器上非常好用,因为我只需要将CNAME添加到那些DNS记录中,指向127.0.0.1

然而,我无法使这个方法在IIS Express上工作。我已经尝试了所有可以想到的方法,但它似乎都失败了。我甚至为IIS Express添加了正确的XML配置到applicationHost.config文件中,但它似乎不认识这些条目,因为它不像真正的IIS一样。聪明。


每当我输入这行并尝试请求http://dev.example.com:1288时,我会收到以下消息:

Bad Request - Invalid Hostname

有人知道我是否漏了什么显而易见的东西吗?或者IIS Express团队真的没有预见到这种情况吗?

admin 更改状态以发布 2023年5月22日
0
0 Comments

对于 Visual Studio 2015,上述答案中的步骤是适用的,但是 applicationhost.config 文件的位置已经改变了。在您的 "解决方案" 文件夹中,按照路径,并且如果您升级了并且在您的计算机上有两个版本的 applicationhost.config,那么这可能会令人困惑。

\.vs\config

在这个文件夹中,您会看到您的 applicationhost.config 文件。

或者,您也可以在解决方案文件夹中搜索 .config 文件并以此方法找到它。

我个人使用了以下配置:

enter image description here

在我的 hosts 文件中包含以下内容:

127.0.0.1       jam.net
127.0.0.1       www.jam.net

在我的 applicationhost.config 文件中包含以下内容:


    
        
    
    
        
             
    

记得要以管理员身份运行您的 Visual Studio 2015 实例! 如果您不想每次都这样做,我建议您使用以下方法:

如何使 Visual Studio 默认以管理员身份运行?

我在尝试升级到 Visual Studio 2015 时遇到了问题,并意识到我的所有配置都没有被保留下来。

0
0 Comments

这是对我有效的方法(更新于VS 2013,查看修订历史记录来查看2010年的方法,对于VS 2015,请参见此链接:https://stackoverflow.com/a/32744234/218971):

  1. 右键单击 Web 应用程序项目 属性 Web,然后按如下配置 Servers 部分:

    • 从下拉列表中选择 IIS Express ▼
    • 项目 Url:http://localhost
    • 覆盖应用程序根 URL:http://dev.example.com
    • 单击 创建虚拟目录 (如果在此处出现错误,则可能需要禁用 IIS 5/6/7/8,将 IIS 的 默认站点 更改为除端口 :80 以外的任何内容,请确保 Skype 不使用端口 80 等。)
  2. 可选:将 Start URL 设置为 http://dev.example.com

  3. 打开 %USERPROFILE%\My Documents\IISExpress\config\applicationhost.config(Windows XP、Vista 和 7),并在 配置块中编辑站点定义,如下所示:

    
        
            
        
        
            
        
        
    
    

  4. 如果运行 MVC:确保 applicationPool 设置为一个“Integrated”选项之一(如 “Clr2IntegratedAppPool”)。

  5. 打开您的 hosts 文件 并添加行 127.0.0.1 dev.example.com

  6. ► 启动 您的应用程序!

一些很棒的评论建议:

  • 您可能需要以管理员身份运行 Visual Studio。
  • 如果您想让其他开发人员看到您的 IIS,请运行 netsh http add urlacl url=http://dev.example.com:80/ user=everyone
  • 如果您想让该网站适用于所有主机,请设置 bindingInformation="*:80:"。可以使用任何端口,80 只是方便。要解决所有主机,您需要以管理员身份运行 Visual Studio
0