【问题标题】:Using Custom Domains With IIS Express通过 IIS Express 使用自定义域
【发布时间】:2011-06-10 04:32:59
【问题描述】:

传统上,我在本地开发服务器上使用自定义域。大致如下:

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

这为我在使用 Facebook 等外部 API 时提供了极大的灵活性。这在过去使用内置的 Visual Studio 开发服务器时效果很好,因为我需要做的就是将 CNAME 添加到指向 127.0.0.1 的那些 DNS 记录中。

但是我无法让它与 IIS Express 一起使用。我尝试过的一切似乎都失败了。我什至在 IIS Express 的 applicationHost.config 文件中添加了正确的 XML 配置,但它似乎无法像真正安装 IIS 那样识别这些条目。

<binding protocol="http" bindingInformation="*:1288:dev.example.com" />

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

错误的请求 - 无效的主机名

有人知道我是否遗漏了一些明显的东西吗?还是 IIS Express 团队真的没有预见到这种用途?

【问题讨论】:

  • 确保您将应用程序节点的 applicationPool 属性设置为“Clr2IntegratedAppPool”或“Clr4IntegratedAppPool”。我收到了您在使用“Clr2ClassicAppPool”或“Clr4ClassicAppPool”时看到的错误主机名错误。
  • confused - CNAME 记录不接受 IP 地址,而是接​​受其他主机名。你是说 A 唱片吗?
  • 我遇到了很多问题,发现只使用 IIS 而不是 IIS Express 更容易
  • 我也遇到了这个问题。我希望它只会查看端口号并忽略域。没有这样的运气。希望我可以在端口上启用“全部接受”....
  • 马上投票!我添加了一个 UserVoice 建议:visualstudio.uservoice.com/forums/121579-visual-studio/…

标签: iis iis-7 iis-express


【解决方案1】:

这对我有用(为 VS 2013 更新,请参阅 2010 年的修订历史,对于 VS 2015,请参阅:https://stackoverflow.com/a/32744234/218971):

  1. 右键单击您的 Web 应用程序项目 ▶ Properties ▶ Web,然后按如下方式配置 Servers 部分:

    • 从下拉列表中选择 IIS Express ▼
    • 项目网址:http://localhost
    • 覆盖应用程序根 URL:http://dev.example.com
    • 单击创建虚拟目录(如果您在此处遇到错误,您可能需要禁用 IIS 5/6/7/8,将 IIS 的 Default Site 更改为除端口 :80 之外的任何内容,确保Skype isn't using port 80等)
  2. 可选:将Start URL 设置为http://dev.example.com

  3. 打开%USERPROFILE%\My Documents\IISExpress\config\applicationhost.config(Windows XP、Vista 和 7)并编辑 &lt;sites&gt; 配置块中的站点定义,使其符合以下内容:

    <site name="DevExample" id="997005936">
        <application path="/" applicationPool="Clr2IntegratedAppPool">
            <virtualDirectory
                path="/"
                physicalPath="C:\path\to\application\root" />
        </application>
        <bindings>
            <binding
                protocol="http"
                bindingInformation=":80:dev.example.com" />
        </bindings>
        <applicationDefaults applicationPool="Clr2IntegratedAppPool" />
    </site>
    
  4. 如果运行 MVC:确保将 applicationPool 设置为“集成”选项之一(如“Clr2IntegratedAppPool”)。

  5. 打开您的hosts file 并添加127.0.0.1 dev.example.com 行。

  6. ► 开始您的应用程序!

来自 cmets 的一些很棒的建议:

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

【讨论】:

  • 这正是我所做的,正要写这个,但你打败了我 :-) 作为旁注,如果你想让其他开发人员看到你的 IIS,你可能想要做类似“netsh http add urlacl url=dev.example.com:80 user=everyone”的事情
  • 另外,如果您希望站点为所有主机解析,您可以使用:bindingInformation="*:80:" 我使用它以便 localtunnel.com 工作。
  • 我收到拒绝访问错误。以管理员身份运行 VS 2012 已修复。
  • 这是什么版本的 IIS Express?我正在运行 VS2012(我相信是 IIS Express 8.0),当我单击 Web 属性页面的“服务器”区域下的“使用本地 IIS 服务器”单选按钮时,单击“使用 IIS Express”复选框,然后尝试输入“mydev.example.com”,然后点击“创建虚拟目录”按钮,我收到此错误“无法创建虚拟目录。无法创建网站 mydev.example.com”。您必须为服务器名称指定“localhost”。
  • 这很复杂。一个人必须改变几个不同的地方。很容易把事情弄得一团糟。真的没有更简单的方法吗?
【解决方案2】:

对于 Visual Studio 2015,上述答案中的步骤适用,但 applicationhost.config 文件位于新位置。在您的“解决方案”文件夹中遵循路径,如果您升级并且在您的机器上会有两个版本的applicationhost.config,这会令人困惑。

\.vs\config

在该文件夹中,您将看到您的 applicationhost.config 文件

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

我个人使用如下配置:

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

127.0.0.1       jam.net
127.0.0.1       www.jam.net

我的 applicationhost.config 文件中有以下内容:

<site name="JBN.Site" id="2">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Dev\Jam\shoppingcart\src\Web\JBN.Site" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:49707:" />
            <binding protocol="http" bindingInformation="*:49707:localhost" /> 
    </bindings>
</site>

记得以管理员身份运行你的 Visual Studio 2015 实例!如果你不想每次我推荐这个时都这样做:

How to Run Visual Studio as Administrator by default

我希望这对某人有所帮助,我在尝试升级到 Visual Studio 2015 时遇到了问题,并意识到我的所有配置都没有被继承。

【讨论】:

  • 关键部分是添加第二个*:49707:绑定,而不是像许多其他答案中所建议的那样替换默认*:49707:localhost。而且您必须以管理员身份运行 VS,确实(原文如此!)。谢谢。
  • 如果您不想修改主机文件,也可以使用http://jam.127.0.0.1.xip.io/ 之类的 URL。另外,任何合作者都不需要修改他们的。见xip.io。
  • 我认为值得注意的是文件夹“.vs”是隐藏的,应该首先可见
  • 我已经确认这也适用于 Visual Studio 2017。有趣的是,我不需要两个 元素(只是第一个没有“localhost”的元素)。然而,Visual Studio 确实需要以管理员身份运行,这有点烦人
  • 我只是希望我们这些不允许以管理方式运行任何东西的人有办法做到这一点。雇主/客户一概禁止管理员权限,而不考虑如何安全地启用此权限。
【解决方案3】:

将 Visual Studio 2012 与 IIS Express 结合使用时,更改现有绑定不会永久起作用。 (在你关闭 VS 之前它可能会起作用,但在那之后,事情就变得一团糟了。)

关键是保留现有的本地主机绑定并在其后添加一个新的绑定。

除非您以管理员身份运行,否则您还需要运行 netsh add urlacl(以授予自己以标准用户身份运行非本地主机站点的权限)。

如果要允许任意主机名,完整流程如下:

  1. 创建您的 Web 应用程序,并找出它使用的端口(请参阅项目属性、Web 选项卡、项目 URL)。
  2. 在管理员提示符下,运行以下命令(将 portnumber 替换为您在 #1 中找到的端口号):

    netsh http add urlacl url="http://*:portnumber/" user=everyone
    netsh http add urlacl url="http://localhost:portnumber/" user=everyone
    

您也可以使用您的用户名 (DOMAIN\USER) 而不是所有人,以提高安全性。

  1. 打开 applicationhost.config(通常在 My Documents\IIS Express\config 下),找到带有您的端口号的元素。
  2. 使用您想要的主机名再添加一个绑定(在本例中为 *)。例如:

    <site name="MvcApplication1" id="2">
        <application path="/" applicationPool="Clr4IntegratedAppPool">
            <virtualDirectory path="/" physicalPath="C:\sites\MvcApplication1" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:12853:localhost" />
            <binding protocol="http" bindingInformation="*:12853:*" />
        </bindings>
    </site>
    

请注意,如果要打开所有主机名 (*),您需要两个 netsh 命令(一个用于 *,一个用于 localhost)。如果只想打开特定的主机名,严格来说不需要第二条netsh命令(localhost);只要有您的特定主机名就足够了。

【讨论】:

  • 做了同样的事情(第一种方法),当浏览到mycustomhost:myportnr 我得到“服务不可用”。 VS2012。我无法尝试第二次,因为“我的文档”下没有 IIS Express,并且我在 c:\Program files\IIS Express 中找到的 applicationhost.config 没有我的 Web 应用程序的配置...
  • 使用 VS2013,我发现只有当我以管理员身份运行时,此配置才有效! (以非管理员身份运行,IIS Express 似乎忽略了第二个绑定 - 如果我从通知图标打开它的 UI,IIS 显示我的站点正在运行,但只显示第一个绑定,我只能使用 localhost.. . 如果我以管理员身份运行,它会在 UI 中显示两个绑定,并且都可以工作。)我已经用 netsh 添加了 urlacls,但这似乎没有什么区别 - IIS Express 似乎甚至没有尝试绑定其他任何东西如果没有提升,则比 localhost。
  • 使用* 添加记录为我解决了“服务不可用”问题。
  • 在443端口需要使用HTTPS的场景呢?
  • @Kixoka 我正在尝试运行 HTTPS。我设法让它工作,但浏览器抱怨证书与域不匹配。我过去了,但是所有资源都无法加载,所以没有图像、脚本或 CSS。
【解决方案4】:

无效的主机名表示您在 IIS Express 配置文件中配置的实际站点(很可能)没有运行。 IIS Express 没有像 IIS 那样的进程模型。


为了让您的站点运行,它需要显式启动(通过从 webmatrix 打开和访问,或者从命令行调用 iisexpress.exe(从它的安装目录)使用 /site 参数。


一般来说,允许将完全限定的 DNS 名称用于本地访问的步骤是 让我们使用您的 DNS 名称 dev.example.com 示例

  1. 编辑 %windows%\system32\drivers\etc\hosts 文件以将 dev.example.com 映射到 127.0.0.1(需要管理员权限)。如果您控制 DNS 服务器(如 Nick 的情况),则 DNS 条目就足够了,因为不需要此步骤。
  2. 如果您通过代理访问互联网,请确保不会将 dev.example.com 转发到代理(您必须在浏览器的例外列表中输入(对于 IE,它是工具/Internet 选项/连接/ Lan Settings,然后转到 Proxy Server/Advanced 并将 dev.example.com 放在 exeption 列表中。
  3. 为您的站点(例如:Site1)配置 IIS Express 绑定以包含 dev.example.com。使用绑定需要管理权限。或者,可以使用 http.sys 使用

    进行一次性 URL 保留

    netsh http add urlacl url=http://dev.example.com:&lt;port&gt;/ user=&lt;user_name&gt;

  4. 启动iisexpress /site:Site1或在WebMatrix中打开Site1

【讨论】:

  • 您好 Jaro,感谢您的帮助,但 127.0.0.1 是在我的 DNS 而非主机文件中设置的,因此所有开发人员都具有相同的访问权限。其次,我无法让它在 VS 中开始调试,除非绑定设置为“*:1234:localhost”,这是一个完全没用的设置,因为它绑定到我机器上的所有 IP 地址,但只接受“localhost”的主机头”。他们为什么不直接执行“127.0.0.1:1234:”并避免所有这些废话。只要 IP 和端口解析,就不需要主机标头。对于一个大型团队来说,以管理员身份运行只是一个巨大的痛苦。 IIS Express 是多么的灾难。
  • 也只是作为参考 Bad Request - Invalid Hostname 意味着我尝试使用的主机名无法解析,因为 IIS Express 团队以其无限的智慧决定专门调用“localhost”作为唯一的主机头会工作。并且 VS 不会让你以除 "*:1234:localhost" 以外的任何其他方式运行它
  • 我听到你关于 127.0.0.1 的问题。绑定中的“localhost”绝对是一个痛苦,因为它不包括 127.0.0.1 的流量。该设计受到当今 http.sys(http 协议处理程序)合同的限制,该合同仅将“localhost”识别为非管理用途。使用 http.sys 进行一次性 URL 保留可以缓解仅管理员的要求(将更新上述信息)。请让我知道您与 Visual Studio 的确切用途(它是带有 SP1 Beta 的 VS2010?)。让我们尝试更多地解决这个问题并(希望)解决这个问题。
  • 注意 - 如果您看到 netsh.exe 错误 87,则参数不正确 - 可能是因为您在主机名后省略了 URI 路径 (/)。
【解决方案5】:

在我的 WebMatrix IIS Express 安装中,从 "*:80:localhost" 更改为 "*:80:custom.hostname" 不起作用(“错误的主机名”,即使使用正确的 etc\hosts 映射),但 "*:80:" 确实 工作- 并且没有其他答案所需的其他步骤。请注意,"*:80:*" 不会这样做;省略第二个星号。

【讨论】:

  • uuuum,所以"*:80:*" 为我工作,但后来我重新启动了我的电脑,它突然无法工作,直到我将其更改为"*:80:",一切都很好!谢谢。
  • 终于!!还遵循了其他地方的所有步骤,并删除了最后的 * 使其工作,谢谢!
  • 只是在这里说这对我有用。我尝试了接受的答案,并将所有更改还原为您所说的内容,一切都很好。我正在使用 VS2013 Update4。
  • 这似乎工作得很好。使用 VS2017 时,我不确定在 Project Url 中放置什么以使其将其写入 applicationhost.config 文件?是否可以通过 VS IDE 设置?
【解决方案6】:

与Jessa Flint above 一样,我不想手动编辑.vs\config\applicationhost.config,因为我希望更改在源代码管理中持续存在。我也不想有一个单独的批处理文件。我正在使用 VS 2015。

项目属性→构建事件→预构建事件命令行:


::The following configures IIS Express to bind to any address at the specified port

::remove binding if it already exists
"%programfiles%\IIS Express\appcmd.exe" set site "MySolution.Web" /-bindings.[protocol='http',bindingInformation='*:1167:'] /apphostconfig:"$(SolutionDir).vs\config\applicationhost.config"

::add the binding
"%programfiles%\IIS Express\appcmd.exe" set site "MySolution.Web" /+bindings.[protocol='http',bindingInformation='*:1167:'] /apphostconfig:"$(SolutionDir).vs\config\applicationhost.config"

只需确保将端口号更改为所需的端口即可。

【讨论】:

  • 这里有一个小补充。确保创建规则以在 Windows 防火墙中打开该端口。然后它就像一个魅力!
  • 我喜欢您的回答,因为当多个开发人员在自己的计算机上运行 IIS Express 时,编辑 .vs\config\applicationhost.config 是不可行的。谢谢!
【解决方案7】:

我试图将公共 IP 地址集成到我的工作流程中,但这些答案没有帮助(我喜欢将 IDE 用作 IDE)。但是以上内容使我找到了解决方案 (在将我的头撞到墙上大约 2 小时以使其与 Visual Studio 2012 / Windows 8 集成之后)这就是最终为我工作的东西。

applicationhost.config由C:\Users\usr\Documents\IISExpress\config下VisualStudio生成

    <site name="MySite" id="1">
        <application path="/" applicationPool="Clr4IntegratedAppPool">
            <virtualDirectory path="/" physicalPath="C:\Users\usr\Documents\Visual Studio 2012\Projects\MySite" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:8081:localhost" />
            <binding protocol="http" bindingInformation="*:8082:localhost" />
            <binding protocol="http" bindingInformation="*:8083:192.168.2.102" />
        </bindings>
    </site>
  • 将 IISExpress 设置为以Administrator 运行,以便它可以绑定到外部地址(不是本地主机)
  • 以 Administrator 身份运行 Visual Stuio,以便它可以以管理员身份启动进程,从而允许绑定发生。

最终结果是您可以在我的案例中浏览到 192.168.2.102 并进行测试(例如在 Android 模拟器中。我真的希望这对其他人有帮助,因为这对我来说绝对是一个令人讨厌的过程。

显然,这是一项我希望禁用的安全功能。

【讨论】:

    【解决方案8】:

    投票赞成的答案是有效的。这些信息对我有很大帮助。我知道这个话题之前已经讨论过,但我想添加一些额外的输入。 人们说您必须“手动编辑”用户 IISExpress/Config 目录中的 application.config 文件。这对我来说是个大问题,因为我想通过源代码控制将配置分发给各种开发人员。

    我发现您可以使用“C:\Program Files\IIS Express\appcmd.exe”程序自动更新此文件。找出控制参数需要一段时间,但我会在这里分享我的发现。本质上,您可以创建一个运行 NETSH 命令和 APPCMD.EXE 的 .bat 文件(如果您愿意,也可以换出一个主机文件),以便使用 IIS Express 轻松配置主机头文件。

    您的安装 bat 文件将如下所示:

    netsh http add urlacl url=http://yourcustomdomain.com:80/ user=everyone 
    
    "C:\Program Files\IIS Express\appcmd.exe" set site "MyApp.Web" /+bindings.[protocol='http',bindingInformation='*:80:yourcustomdomain.com']
    

    我还将制作一个“卸载”bat 文件来清理这些绑定..(因为我经常只是伪造 DNS,以便我可以处理对主机名敏感的代码)

    netsh http delete urlacl url=http://yourcustomdomain.com:80/
    
    "C:\Program Files\IIS Express\appcmd.exe" set site "MyApp.Web" /-bindings.[protocol='http',bindingInformation='*:80:yourcustomdomain.com']
    

    我希望这些信息对某人有所帮助。我花了一点时间才发现。

    【讨论】:

      【解决方案9】:

      按照 Jaro 的建议,我能够在 Windows XP 和 IIS Express(通过 Web Matrix 安装)下进行小修改,并且不仅限于 localhost。这只是正确设置绑定的问题。

      1. 使用 WebMatrix 从您的 Web 应用程序根目录中的文件夹创建一个新站点。
      2. 关闭 WebMatrix。
      3. 打开%USERPROFILE%\My Documents\IISExpress\config\applicationhost.config(Windows XP。Vista 和 7 路径将类似)并在 &lt;sites&gt; 配置块中编辑站点定义,使其符合以下内容:

        <site name="DevExample" id="997005936">
            <application path="/" applicationPool="Clr2IntegratedAppPool">
                <virtualDirectory
                    path="/"
                    physicalPath="C:\path\to\application\root" />
            </application>
            <bindings>
                <binding
                    protocol="http"
                    bindingInformation="*:80:dev.example.com" />
            </bindings>
            <applicationDefaults applicationPool="Clr2IntegratedAppPool" />
        </site>

      如果运行 MVC,则将 applicationPool 设置为“集成”选项之一。

      【讨论】:

        【解决方案10】:

        大卫的解决方案很好。但是我发现页面中的&lt;script&gt;alert(document.domain);&lt;/script&gt; 仍然会提示“localhost”,因为项目 URL 仍然是 localhost,即使它已被 http://dev.example.com 覆盖。我遇到的另一个问题是,即使我按照 David Murdoch 的建议使用 80 端口号禁用了 Skype,它也会提醒我端口 80 已被使用。所以我想出了另一个更简单的解决方案:

        1. 以管理员身份运行记事本,打开C:\Windows\System32\drivers\etc\hosts,添加127.0.0.1 mydomain,保存文件;
        2. 用Visual Studio 2013打开Web项目(注意:也必须以管理员身份运行),右键项目->属性->Web,(假设“IIS Express”选项下的Project Url是http://localhost:33333/ ),然后将其从 http://localhost:33333/ 更改为 http://mydomain:333333/ 注意:更改后,您既不能单击 Project Url 框右侧的“创建虚拟目录”按钮,也不能单击 Visual Studio 的“保存”按钮,否则将无法成功。您可以在下一步 3 之后保存您的设置。
        3. 打开 %USERPROFILE%\My Documents\IISExpress\config\applicationhost.config,搜索“33333:localhost”,然后将其更新为“33333:mydomain”并保存文件。
        4. 按照步骤 2 中的说明保存您的设置。
        5. 右键单击 Visual Studio 中的网页,然后单击“在浏览器中查看”。现在页面会在http://mydomain:333333/下打开,页面中&lt;script&gt;alert(document.domain);&lt;/script&gt;会提示“mydomain”。

        注意:上面列出的端口号假定为33333。您需要将其更改为您的visual studio设置的端口号。

        帖子编辑:今天我尝试使用另一个域名并收到以下错误:无法启动 IIS Express Web 服务器。注册 URL 失败...访问被拒绝。 (0x80070005)。我通过右键单击 Windows 任务栏右上角的 IIS Express 图标退出 IIS Express,然后以管理员身份重新启动我的 Visual Studio,问题就消失了。

        【讨论】:

        • 现在,this 是应该被视为正确解决方案的答案!如果您使用的是 Visual Studio 2015,请确保编辑位于 .vs/config 中的 applicationhost.config。
        【解决方案11】:

        此方法已通过 ASP.NET Core 3.1 和 Visual Studio 2019 的测试和使用。

        .vs\PROJECTNAME\config\applicationhost.config

        将“*:44320:localhost”更改为“*:44320:*”。

        <bindings>
            <binding protocol="http" bindingInformation="*:5737:localhost" />
            <binding protocol="https" bindingInformation="*:44320:*" />
        </bindings>
        

        两个链接都有效:

        现在,如果您希望应用使用自定义域,只需将以下行添加到 host 文件中:

        C:\Windows\System32\drivers\etc\hosts

        127.0.0.1 customdomain
        

        现在:

        • https://customdomain:44320

        注意:如果您的应用在没有 SSL 的情况下运行,请更改 protocol="http" 部分。

        【讨论】:

        • 我得到“无法连接到 Web 服务器 'IIS Express'。”因为那个星号
        • 不幸的是,您必须以管理员身份运行 Visual Studio 才能正常工作。我已经尝试过 netssh 和其他东西,唯一有效的是以管理员身份运行 Visual Studio
        【解决方案12】:

        我尝试了以上所有方法,但没有任何效果。解决问题的方法是在 hosts 文件中添加 IPv6 绑定。在@David Murdochs 回答的第 5 步中,添加两行而不是一行,即:

        127.0.0.1 dev.example.com
        ::1 dev.example.com
        

        我通过在命令行中检查 $ ping localhost 发现了这一点,它曾经返回:

        Reply from 127.0.0.1: bytes=32 time&lt;1ms TTL=128

        相反,它现在返回:

        Reply from ::1: time&lt;1ms

        我不知道为什么,但出于某种原因,IIS Express 开始使用 IPv6 而不是 IPv4。

        【讨论】:

          【解决方案13】:

          以防万一有人需要...

          我的要求是:

          • 启用 SSL
          • 自定义域
          • 在(默认)端口运行:443

          在 IISExpress 中设置此 URL:http://my.customdomain.com

          为了进行设置,我使用了以下设置:

          项目网址:http://localhost:57400

          起始网址:http://my.customdomain.com

          /.vs/{solution-name}/config/applicationhost.config 设置:

          <site ...>
              <application>
                  ...
              </application>
              <bindings>
                  <binding protocol="http" bindingInformation="*:57400:" />
                  <binding protocol="https" bindingInformation="*:443:my.customdomain.com" />
              </bindings>
          </site>
          

          【讨论】:

          • 进行这些更改后,我的 IIS Express 网站无法启动。你能分享你的launchSettings.json文件吗?
          【解决方案14】:

          我为此使用了 iisexpress-proxy(来自 npm)。

          https://github.com/icflorescu/iisexpress-proxy

          【讨论】:

          • 这仍然对您有用吗?我遇到了必须安装 openssl 才能让它运行的问题,即使这样它也会给出关于密钥太小的错误。
          【解决方案15】:

          把这个留在这里以防万一有人需要...

          我需要在 IIS Express 中为 Wordpress 多站点设置设置自定义域,但在我以管理员身份运行 Webmatrix/Visual Studio 之前没有任何效果。然后我能够将子域绑定到同一个应用程序。

          <bindings> 
              <binding protocol="http" bindingInformation="*:12345:localhost" />
              <binding protocol="http" bindingInformation="*:12345:whatever.localhost" />
          </bindings>
          

          然后去http://whatever.localhost:12345/会运行。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2013-11-20
            • 1970-01-01
            • 1970-01-01
            • 2018-07-11
            • 1970-01-01
            • 1970-01-01
            • 2014-12-07
            相关资源
            最近更新 更多