在我的服务器上,我有这个Apacheconfiguration文件:
<VirtualHost *:80>
ServerAdmin xxxx
DocumentRoot / www / a / b / c
<Directory / www / a / b / c>其他configuration数据</ Directory>
所有的工作都由/ www / a / b / c中的应用程序来完成。它接受路由到这个apache服务器的所有域,并且应用程序检测到这个域,并为这个域提供不同的内容库。
惠特这个我不需要重新configurationApache新域名被添加到网站。 只要用户login到站点,就可以注册新的域并填充cms。 此外,在他的DNS添加域名。
该网站可以接收子域名,也可以接收不同的域名。
示例所有这些域指向服务器的IP:
domain1.com
domain2.com
maindomain.com
subdomain.maindomain.com
这工作正常。
我现在需要的是一些页面的每个域都有SSL。
我将有所有域的证书文件。 (我可以在一个Apache和一个IP上有几个证书文件?)
我可以configurationapaceh在某种if语句中dynamic读取它们,或者我必须为每个域分别configurationVirtualHost?
问候
你的问题是一个更基本的 – 这是一个通配符证书? SSL协商发生在TCP层,所以SSL必须绑定到一个IP地址。 如果您有两个具有唯一证书的SSL站点,则需要两个IP。 如果您有一个通配域证书(* .foo.com),您可以将多个数字绑定到一个IP。
如果你有一个通用的证书(通配符)的域,那么有一种方法可以通过一些Apache-fu来实现:
同样,只有当你使用一个通用的证书时才有效。
您的客户端应用程序也需要支持SNI。
我认为有一种方法可以在apache中使用NameVirtualHost。 当您命名主机时,它必须与其匹配的VirtualHost部分完全匹配。
像<NameVirtualHost staticIP:*443 …..或类似的东西。