IIS 7网站共享相同的应用程序池

时间:2009-04-20 10:59:16

标签: asp.net iis iis-7

我有一个ASP.NET应用程序。我打算在同一台服务器上运行这个应用程序的几个实例。

每个实例都有自己的域名,例如www.app1.com和www.app2.com。

每个应用实例都有自己的管理区域,应该受SSL保护。您无法在同一台计算机和端口号上安装多个SSL证书,因此使用https://www.app1.com/adminhttps://www.app2.com/admin是不行的。

我想做以下事情:

使用我的appname域名:www.appname.com和SSL证书,并在IIS中为我的每个客户域添加一个应用程序:

https://www.appname.com/app1/admin& https://www.appname.com/app2/admin

但这会隔离www.app1.com和https://www.appname.com/app1/admin之间的会话状态 - 即使他们在IIS 7中使用相同的应用程序池。

有办法解决这个问题吗?

3 个答案:

答案 0 :(得分:1)

我看到在不同的ASP.NET应用程序之间共享会话状态的一种方法是使用其他选项之一来存储会话状态信息。不幸的是,我目前无法访问IIS 7,但假设它类似,这里是您在IIS 6中配置它的方式:

  • IIS管理控制台
  • 调整适用虚拟目录的属性
  • ASP.NET标签 - >编辑配置
  • 州管理标签

“会话状态模式”默认为InProc,但您可以为各种应用程序“实例”更改它以使用相同的SQL Server数据库。

答案 1 :(得分:0)

您可以在同一台计算机上使用多个SSL证书,它们只需要专用的IP地址。

答案 2 :(得分:0)

简单来说,您的服务器上不一定需要多个IP才能在IIS 7中的Windows Server上安装多个域SSL证书。您只需要从命令行添加它们。

我从GoDaddy获得了UCC标准SSL多域证书,然后只添加了我需要的所有域名。您基本上只需将其安装到您想要的某个域,然后通过命令行在其他域之间共享。我的猜测是,是适用于所有情况的最佳做法,但如果没有强制分享应用的安全部分,它确实可以解决您的问题。

查看此链接以获取路线:

http://www.sslshopper.com/article-ssl-host-headers-in-iis-7.html

btw - 每个域名的管理员都必须批准它。如果其上的域名发生变化,它将使IIS中所有站点中的证书无效,并且所有管理员都必须重新授权更改。