切入正题:通配符主机标头支持,在 IIS 8 中是否可以以某种方式为子域提供支持?
我知道,这是一个糟糕的设计,这就是为什么我保留下面的原始问题来解释原因...
我有两个域名,example1.com 和 example2.com,我想将它们都托管在运行 Windows 2012 和 IIS 8 的简单服务器上。我也只有一个 IP 地址,所以事情有点棘手。但是,这不是生产环境,而是测试环境,我可以在将完整的网站项目交付到生产环境之前对其进行测试。完成后,我会使用新域名开始一个新项目。
因此,我在 IIS 中设置了一个站点,任何传入流量都会流向该站点。我设置了第二个站点并与第二个域名绑定,在处理许多不同的域名时,这种方法通常效果很好。但现在我面临一个挑战。
我现在正在开展两个项目,它们都严重依赖于用户使用子域名。因此,网站上的每个用户都必须有一个特定的子域名。客户想要这个,所以不要告诉我这是个坏主意。客户要求很高。 (而且糟糕的是,我现在正在处理两个需要这个的网站。一个很容易。)因此,两个网站现在都需要接受特定域名的所有子域。因此,虽然大多数会转到 example1.com,但 url wim.example2.com 应该转到第二个网站。虽然使用第二个 IP 地址很容易做到这一点,但我只有一个。
那么,如何让所有子域都转到 IIS 8 中的正确网站?
答案1
我发现https://stackoverflow.com/questions/458757/wildcard-subdomains-in-iis7-is-it-possible-to-make-them-like-it-is-in-apache这似乎回答了我的问题,所以我将关闭这个问题。IIS 7 和 IIS 8 不支持单个域名的通配符绑定,因为您需要升级到 IIS 10 才能使用此功能。而且 IIS 10 需要 Windows 2016(或 Windows 10),因此如果不升级操作系统,这将是不可能的。
但一个选项可能是https://www.microsoft.com/en-us/download/details.aspx?id=48264,这是 IIS 10 的简化版本,可以在 Windows 2012 上运行,所以这是值得考虑的。由于我的环境用于开发,所以这对我来说是个不错的选择。但对于生产服务器来说并不实用...