IIS Express + VS 2015中的通配符主机名

时间:2015-05-14 16:35:40

标签: iis-express asp.net-core

我有一个多租户应用程序,可以在生产中作为customer.ourdomain.com访问。对于使用IIS的本地开发,我们使用自定义通配符域company-localdev.com

使用IIS,无需任何特定配置即可运行。另一方面,IIS Express仅绑定到localhost

我们正在进行一项针对ASP.NET 5的迁移项目,我们希望使用IIS Express来获得更轻松的开发人员体验。

是否可以让IIS Express收听*.company-localdev.com:1234?如果这可以自动化,那么开发人员可以通过在IIS中打开解决方案来使其工作。

4 个答案:

答案 0 :(得分:15)

在ASP.NET 5 / vNext中,配置文件位于

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

从那里,你可以添加新的绑定,如rdans解释。

答案 1 :(得分:9)

好的,我在本地机器上工作了,这是我必须采取的所有步骤:

  1. 转到{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>
    
  2. 以管理员身份运行记事本,然后转到C:\Windows\System32\drivers\etc打开hosts文件并进行修改

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

  3. 通过以管理员身份运行cmd.exe并输入netsh http提示符来添加网址预留(要获取netsh http>提示,您必须输入netsh,然后按Enter,然后输入{{ 1}}后跟http):

    Enter

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

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

  4. 请记住,关键字add urlacl url=http://sub2.example.com:80/ user=everyone取决于Windows操作系统的语言。在法语操作系统上,everyone将被user=everyone替换,在德语操作系统上应为user="Tout le monde",用西班牙语user=jeder等等...您明白了。< / p>

    1. 之后,您应该可以开始调试并导航到您已设置的域以查看您的网站。
    2. 希望这有帮助。

答案 2 :(得分:6)

没有尝试使用vs2015,但这适用于vs 2012中的iis express。

转到您的文档文件夹。打开IISExpress / config.applicationhost.config。

搜索'sites'xml标记并找到您的网站。您可以像这样修改您的站点绑定:

{{1}}

如果我以管理员身份运行visual studio,调试只适用于我。

答案 3 :(得分:1)

我在Visual Studio 2019中的IIS Express遇到了完全相同的问题。 MSDN held the answer

此属性的值是一个用冒号分隔的字符串,其中包括绑定的IP地址,端口和主机名。 您可以离开 主机名为空。

此简单绑定将接受所有主机名

<bindings>
    <binding protocol="http" bindingInformation="*:1234:" />
</bindings>