首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IIS中本地主机域名前允许前缀

IIS中本地主机域名前允许前缀
EN

Stack Overflow用户
提问于 2015-07-24 13:31:42
回答 1查看 1.1K关注 0票数 0

我正在构建一个MVC web应用程序,它应该响应像a.sub.example.com、b.sub.example.com、c.sub.example.com等域。我可以弄清楚如何提取a、b、c等前缀,并相应地创建一个正确的路径,但我很难让IIS将请求实际转发到同一个web应用程序。

我遵循this指南,让IIS监听另一个地址,在本例中,sub.example.com运行良好。然而,我不知道如何让它去聆听那个域的所有子域。当我将浏览器定向到a.sub.example.com时,会得到一个错误:

代码语言:javascript
复制
HTTP Error 400. The request hostname is invalid.

我在主机文件中为127.0.0.1添加了sub.example.com和a.sub.example.com作为别名。

我的applicationhost.config文件的“站点”条目如下所示:

代码语言:javascript
复制
<site name="MyProject.Web" id="7">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="..." />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:8888:sub.example.com" />
    </bindings>
    <applicationDefaults applicationPool="Clr2IntegratedAppPool" />
</site>

当我将'bindingInformation属性替换为

代码语言:javascript
复制
"*:8888:*.sub.example.com" 

正如前面提到的指南所建议的,当我希望IIS express侦听多个域时,我应该这样做,IIS根本无法启动。

我是不是漏掉了什么明显的东西?

EN

回答 1

Stack Overflow用户

发布于 2015-07-28 19:05:26

我所知道的方式是设置IIS applicationhost.config (完整路径:applicationhost.config)并找到对端口号的引用。

代码语言:javascript
复制
<site name="WebSite1" id="1">
      <application path="/">
            <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%WebSite1" />
      </application>
      <bindings>
            <binding protocol="http" bindingInformation=":49483:localhost" />
      </bindings>
</site>

我通常添加<binding protocol="http" bindingInformation=":49483:" />以接受端口上的所有主机(注意空字符串,而不是通配符*)。

您必须设置此主机才能指向主机文件中的127.0.0.1。或者,使用您拥有的域并将.sub.mydomain指向127.0.0.1。主机文件不支持通配符(),但DNS支持!这意味着我可以轻松地设置myproject.sub.mydomain和myproject.sub.mydomain,而不必为我的主机文件添加新的行(只要我有互联网连接)!

希望这能有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31611881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档