使用 IIS 7 设置子域名

使用 IIS 7 设置子域名

我今天在 Stack Overflow 上发布了一个问题。现在,我不确定它应该发布在那里还是在这里。这个问题可以在这里看到,我已将其复制这里以方便访问。

我有一个网站,目前托管在 IP 地址 11.11.11.111(这是一个虚假地址,仅用于通信)。我可以通过 www.mydomain.com 成功访问该网站。现在我想允许用户访问 m.mydomain.com。

此 URL 需要使用相同的 IP 地址。它将托管在同一 Web 服务器上,但作为其自己的应用程序。目前,我已使用我的 GoDaddy 帐户创建了一条新的 CNAME 记录。该记录具有以下属性:

别名记录

Host: m
Points To: @

在我的 Web 服务器上,我有一个名为“Mobile”的 Web 应用程序。此应用程序具有具有以下属性的站点绑定:

网站绑定

Type: http
Host Name: m.mydomain.com
Port: 60
IP Address: 11.11.11.111

当我在浏览器中输入“m.mydomain.com”时,我看到的是原始网站。我没有看到移动版本。我做错了什么?

答案1

您需要在站点的绑定中设置一个主机标头,以便当您使用 m.mydomain.com(而不仅仅是 mydomain.com)访问相同 IP 地址时,网络服务器知道要去哪里。

http://technet.microsoft.com/en-us/library/cc753195(v=ws.10).aspx

只需将其设置为 m.mydomain.com,该网站将托管您的移动版本的 webapp,而运行相同端口的其他网站将处理到 www.mydomain.com 或 mydomain.com 的其他流量。

答案2

Port: 60表示您的应用正在监听端口 60。您需要在 URL 末尾添加 :60 才能访问它。

您可能没有特定于端口的绑定,或者没有 *.mydomain.com 的通配符绑定,这将导致所有不匹配的请求都由 mydomain.com 应答。

答案3

您需要结合@MDarra 和@LarsWA 的答案才能使其发挥作用:设置两个站点以在绑定中使用主机标头以及端口 80。

基本上,您将具有以下绑定:

IP: 111.111.111.111
Port: 80
Host-header: www.mydomain.com

IP: 111.111.111.111
Port: 80
Host-header: m.mydomain.com

这将满足您的要求。但请注意,它不适用于 SSL/HTTPS

相关内容