是否无法使用基于名称的虚拟主机来识别不同的SSL虚拟主机?
我正在尝试为我的Ubuntu 10.04服务器上的多个网站实施https:但我遇到了这个资源,它告诉我无法完成:
http://www.linuxpoweruser.com/?p=121
本HowTo中给出的解决方法是建议我有这样的站点结构:
www.abc.com/site1
www.abc.com/site2
www.abc.com/site3
这对我来说不是一个令人满意的解决方法。有人能告诉我这个问题是否有更好的解决方法?
谢谢。
答案 0 :(得分:0)
如果他们使用相同的证书,您可以仅使用带SSL的基于名称的主机,因为SSL协商在实际传输Host
标头之前发生。
因此,如果您在一个域中拥有不同的主机,例如a.example.com
,b.example.com
,c.example.com
,那么您可以将它们与{{1}一起使用通配符证书。否则没有解决方法。
答案 1 :(得分:0)
假设您想要在同一个IP地址上运行所有内容,您有多种选择:
*.example.com
。这适用于www1.example.com
和www2.example.com
,但不适用于www.example1.com
和www.example2.com1
。 The wildcard must be in the left-most label。通配符证书使用情况为discouraged。www.example1.com
创建一个SAN,为www.example2.com
创建另一个SAN(这些名称不需要相关)。如果您可以使用多个IP地址,则只需为每个IP地址使用一个证书。
答案 2 :(得分:0)
您可以为您在服务器上托管的每个虚拟主机(适用于每个网站或域或子域)创建SSL证书,您应该考虑的唯一事项是将每个Vhost证书密钥和crt指向这些文件在您的文件系统上的正确位置。如果要为Ubuntu上的每个虚拟主机使用多个带有自定义自签名证书的SSL虚拟主机,可以参考本指南http://www.bytelinux.com/create-self-signed-certificates-enable-apache-ssl-ubuntu-14-10/