将子域映射到IIS7 / 7.5中的应用程序

我试图做一些似乎是非常基本的(而且是显而易见的),但是它不起作用,所以也许我没有正确实现这个想法,这就是为什么我需要你的帮助。

我有一个IIS7的Web服务器(如果它只适用于IIS7.5,我也有它可用)与网站configuration为端口80,并与SSL证书configuration为端口443。

在这个网站下,我有两个运行.NET应用程序的应用程序文件夹。 像下面的树一样:

 - 服务器名称
 - 网站
 --- MyAppsWebSite
 ---- ApplicationFolder1
 ---- ApplicationFolder2

我正在组织这样的服务器,所以我不会有任何应用程序运行在网站的根目录,以避免由于configuration的inheritance混淆和configuration共享。

我需要做的是有一个子域映射到本网站的每个应用程序。 像这样的东西:

 app1.myDomain.com  - > ApplicationFolder1
 app2.myDomain.com  - > ApplicationFolder2

但据我所知,我只能将子域映射到特定的网站(使用主机名),而不是一个应用程序,所以我无法使其工作。

一种可能性是为每个应用程序创build一个网站,但是因为我们不能有两个网站共享相同的端口(80/443),所以我将无法使用SSL证书。

有没有办法可以在IIS中完成,或者我错过了一些东西,试图做一些不可能的事情?

谢谢

你正试图做一些不可能的事情!

其实,并不是不可能,但是你现在的证书是不可能的。 请记住,看到名字的关键方是客户。 你基本上描述了你希望客户端看到的布局,这将决定你如何configuration服务器。 你不能要求服务器“把这个目录当作一个网站”,因为这是一个网站 – 它是一个与目录分层组相对应的命名空间,并且你已经描述了你的网站/目录; 网站/网站无法从URL透视图中运行。

所以:是的! 您需要为这些主机名创build实际的网站对象,可能使用主机头支持,并直接将它们指向应用程序目录。 这将只适用于HTTP,但SSL更棘手。

这意味着,如果您只有一个IP地址,则需要具有SAN(主题备用名称)支持的证书以及服务器将响应的每个名称的条目或通配符证书。

有了这些实现,你可以直接编辑configuration来添加SSL主机头绑定在 – 我不认为graphics用户界面让你(可能会误)。

您也可以实现某种forms的应用程序代理(ARR; ISA; TMG; UAG; Squid; Apache等),将https://app1.yourdomain.com的请求转换为http://yourserver.yourdomain.com/app1 ,但该代理的证书要求将是相同的。