首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用UCC/SAN证书在单个IP上使用Apache

使用UCC/SAN证书在单个IP上使用Apache
EN

Server Fault用户
提问于 2010-02-15 18:13:46
回答 1查看 17.1K关注 0票数 11

我需要使用来自单个IP的SSL托管几个Apache虚拟主机。

现在--我了解到,由于SSL封装了HTTP请求,所以在首先向客户端发送公钥之前,无法知道请求的是哪个主机。这实际上打破了SSL虚拟主机使用标准SSL证书的可能性。

我获得了统一通信证书(UCC),也称为主题可选名称(SAN)证书。这允许我为多个域提供相同的证书。

我希望这是Apache为任何SSL请求提供的证书,然后在加密建立之后,让Apache像往常一样解析虚拟主机。

为此,我应该如何配置Apache?我曾试图研究如何做到这一点,但我所能找到的只是引号,这些引语说这是可能的,但没有具体说明:

wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI

虽然Apache可以在稍后看到请求中的主机名后重新协商SSL连接(并且确实如此),但在初始握手期间选择用于匹配请求主机名的正确服务器证书为时已晚,从而导致有关证书中存在错误主机名的浏览器警告/错误。

serverfault.com/questions/48334/apache-virtual-hosts-with-ssl

顺便说一句,有可能有多个SSL--在一个IP地址上被命名为虚拟主机--我在我的网站上这样做--但是它在Apache日志中产生各种各样的警告,在浏览器中产生证书警告。我当然不会推荐给一个需要看上去干净的生产网站。-David 7月31日4:58

www.digicert.com/subject-alternative-name.htm

虚拟主机一个IP地址上的多个SSL站点。在单个服务器上承载多个启用SSL的站点通常需要每个站点的唯一IP地址,但具有主题可选名称的证书可以解决此问题。Microsoft IIS 6和Apache都能够使用统一通信SSL (也称为SAN证书)的虚拟主机HTTPS站点。

请帮帮忙。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2010-02-15 20:03:36

我在apache 2.2.14实例上测试了这一点,它运行得很好:

使用NameVirtualHost指令(对ports.conf):

代码语言:javascript
复制
NameVirtualHost *:443

定义您的vhost:

代码语言:javascript
复制
<VirtualHost *:443>
  ServerName www.siteA.com
  DocumentRoot "/opt/apache22/htdocs/siteA"
  SSLCertificateFile "/path/to/my/cert"
  SSLCertificateKeyFile "/path/to/my/key"
</VirtualHost>
<VirtualHost *:443>
  ServerName www.siteB.com
  DocumentRoot "/opt/apache22/htdocs/siteB"
  SSLCertificateFile "/path/to/my/cert"
  SSLCertificateKeyFile "/path/to/my/key"
</VirtualHost>

我使用这个链接作为资源。

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

https://serverfault.com/questions/113076

复制
相关文章

相似问题

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