我编写了一个 ASP.NET MVC 应用程序,允许用户指定他们自己的自定义域。我将 IIS 配置为将所有请求发送到默认网站,因此我不需要使用主机 header 。一切都很完美。唯一的问题是 SSL。
我知道这个问题已在许多论坛中多次被问到,但答案通常相互冲突或说绝对(无法做到)。这对我来说不是一个真正的选择。我在这里寻找的是一些选择;我对非传统持开放态度 :)。
我看到一些建设性的回应建议使用 ISA 服务器作为 SSL 代理。有人对此了解更多吗?或者有人配置过这个并成功了吗?
基本上,我想为我的用户提供一种从应用程序请求 CSR、购买和下载 SSL 证书、返回我的应用程序并上传授权认证公司颁发的证书的方法。
我希望无需向希望在其网站上使用自定义域和 SSL 的客户提供单独的 IP 地址即可执行此操作。这仅仅是因为我的应用程序托管在 Amazon 云上,他们不愿意给我一大块 IP 地址。
我的应用程序可以托管在 IIS6 或 IIS7 上(如果这有所不同的话)。
解决方案: 感谢您对这些人的所有帮助。我当然没有像现在这样理解这个问题。我认为我现在的解决方案是生成通配符证书并强制我的客户使用 clientname.someshareddomain.com 如果他们想要安全连接。对于根本不满意的客户,我可能会通过 api 调用亚马逊网络服务来提供另一个弹性 IP 地址,在 IIS 中创建一个新网站并将其指向我的应用程序的根文件夹,然后以编程方式从中生成 CSR新网站。 我只需要与 Amazon 达成某种交易,给我一个像样的 IP 地址 block 。
最佳答案
每个 SSL 证书都需要一个唯一的 IP 地址。这就是技术的工作方式:
http://info.ssl.com/Article.aspx?id=10076
另一种选择是为 *.securedomain.com 购买通配符 SSL 证书,然后为用户提供一个安全的子域,如 website1.securedomain.com、website2.securedomain.com 等。
编辑:每个 IP 地址/端口一个证书。因此,您可以在 securedomain.com:443、securedomain.com:444 等上运行多个证书。
编辑 #2:好吧,好吧,看起来至少有一个 CA 销售多域 SSL 证书:http://www.geocerts.com/ssl/tbidmd
关于asp.net-mvc - 使用 SSL 一个应用程序的多个网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2097939/