如何将多个 Web 应用托管为单个域的一部分

如何将多个 Web 应用托管为单个域的一部分

我想在单个域下部署多个 asp.net mvc 应用程序,但我不确定在 IIS 中执行此操作的正确方法是什么。

我希望他们有以下网址

www.domain.com/something-from-app1
www.domain.com/something-from-app2

我想到了一些选择,但不确定它们在实践中是否真的有效。

将每个应用程序部署为子域,然后进行重写

app1.domain.com/something to www.domain.com/something-from-app1
app2.domain.com/something to www.domain.com/something-from-app2

将每个应用程序部署到域的虚拟文件夹下,然后进行重写

www.domain.com/site/app1/something to www.domain.com/something-from-app1
www.domain.com/site/app2/something to www.domain.com/something-from-app2

这两种选择都只是纯理论,我想知道这两种情况是否都会像我上面解释的那样起作用?

答案1

所有这些选项都是可行的。但是,没有必要进行任何重写,因为您也可以直接将应用程序托管在所需的位置,

www.example.com/app1/something
www.example.com/app2/something

如果要隐藏这些,请考虑 URL 应该不同。否则无法区分哪个应用程序应该处理请求。子域名就可以了。

答案2

两种方法都可以。如果您想在混淆路径的同时使用第二种方法,您可以在 IIS 中创建一个虚拟目录。这可以使其出现在根目录中,但实际上指向其他地方(如快捷方式/链接)。

补充阅读:https://msdn.microsoft.com/en-us/library/bb763173.aspx

编辑:与虚拟目录类似(但更面向应用程序)的选项是创建(或将这些虚拟目录转换为)应用程序。这样,您可以将它们分配给自己的应用程序池,将会话与根应用程序(以及彼此)隔离,等等。

相关内容