首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache SSL多域

Apache SSL多域
EN

Stack Overflow用户
提问于 2010-09-30 17:40:33
回答 3查看 2.6K关注 0票数 3

我们有一个web应用程序,托管多个网站为我们的客户在不同的域名。所有这些域都托管在单个apache vhost上,不同站点的逻辑分离是由软件完成的。

我们想为这些虚拟网站中的一些提供ssl支持。原则上这应该没有问题,因为在建立ssl连接后,软件可以使用host:头来路由到正确的网站。

但是:如何让apache根据所请求的主机提供正确的证书?

是否有可能将证书映射到域,例如,使用以下内容:

SSLCertificateFile文件

感谢所有的帮助!

EN

回答 3

Stack Overflow用户

发布于 2010-09-30 17:51:17

除了@bobince所说的之外,您还可以在主题备用名称扩展中使用多个DNS条目,在同一证书中使用多个主机名(不一定使用通配符或子域)。(对于此类证书,CA可能会收取更高的费用)。

票数 4
EN

Stack Overflow用户

发布于 2010-09-30 17:45:57

这是不可能的。由于主机标头仅在建立SSL连接后发送,因此服务器不能根据主机提供SSL证书。

Server Name Indication试图解决这个问题,但并不是在所有浏览器上都实现。

票数 3
EN

Stack Overflow用户

发布于 2010-09-30 17:46:30

您需要为每个SSL域使用单独的IP地址。您可以在具有IP:port组合的VirtualHost上设置SSLCertificateFile on。

HTTPS的一个限制是,在客户端传递Host:请求标头之前,您必须选择一个证书来保护连接(它必须这样做,因为标头也是加密的)。因此,每个IP地址不能有多个主机名(通配符证书除外,这只能提供子域)。

一个叫做SNI的SSL扩展可以解决这个问题,但是目前浏览器的支持还不够好,不能考虑用于公共部署。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3829406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档