多个网站使用SSL一个应用程序

时间:2010-01-19 23:10:49

标签: asp.net-mvc security iis ssl-certificate

我编写了一个ASP.NET MVC应用程序,允许用户指定自己的自定义域。我已将IIS配置为将所有请求发送到默认网站,因此我不需要使用主机头。一切都很完美。唯一的问题是SSL。

我知道这个问题已经在很多论坛中多次被问过,但答案通常会发生冲突或说绝对的话(这是不可能做到的)。这对我来说不是一个真正的选择。我在这里寻找的是一些选择;我对非传统的开放:)。

我已经看到一些建设性的回应,建议使用ISA服务器作为SSL代理。有谁知道更多关于这个?或者有没有人配置这个并取得了成功?

基本上我想为我的用户提供从应用程序请求CSR,购买和下载SSL证书,返回我的应用程序并上传授权认证公司颁发的证书的方法。

我希望这样做,而无需为希望在其网站上使用自定义域和ssl的客户端提供单独的IP地址。这只是因为我的应用程序托管在亚马逊云上,他们并不热衷于给我一大块IP地址。

我的应用程序可以在IIS6或IIS7上托管,如果这会产生影响。

解: 感谢您对这些家伙的所有帮助。我当然不会像现在这样理解这个问题。我认为我现在的解决方案是生成通配符证书并强制我的客户端使用clientname.someshareddomain.com如果他们想要安全连接。对于那些根本不满意的客户,我可能会通过api调用亚马逊网络服务提供另一个弹性IP地址,在IIS中创建一个新网站并将其指向我应用程序的根文件夹,然后以编程方式生成CSR新网站。 我只需要与亚马逊达成某种协议,给我一个不错的IP地址块。

3 个答案:

答案 0 :(得分:2)

每个SSL证书都需要唯一的IP地址。这就是技术的运作方式:

http://info.ssl.com/Article.aspx?id=10076

另一种选择是为* .securedomain.com购买通配符SSL证书,然后为用户提供安全的子域,如website1.securedomain.com,website2.securedomain.com等。

编辑:每个IP地址/端口只有一个证书。因此,您可以在securedomain.com:443,uredomain.com:444等上运行多个证书

编辑#2 :好吧,看起来至少有一个CA销售多域SSL证书:http://www.geocerts.com/ssl/tbidmd

答案 1 :(得分:2)

这是一个棘手的问题。基本问题是在HTTP连接可以发送主机头之前建立SSL连接。

有一个名为服务器名称指示的TLS扩展正在慢慢被采用,但仍然是not supported by IIS

答案 2 :(得分:1)

您的第一个障碍是多个域和SSL证书。我还没有看到它完成,因为IIS不知道如何使用不同的ssl证书响应不同的主机请求。

如果你想做一些像Client.SecureYourCompanyName.com这样可行的话......

或...并且不要踢我这样你可以设置多个虚拟服务器,每个服务器都有自己的SSL,并且有一些“负载平衡”,如主机服务器的设置,根据主机名路由......一场噩梦控制,但它会工作......