我正在运行一个可以从不同域访问的多语言网络商店,这会导致不同的语言。
apache配置非常复杂,我希望与所有商店共享一个文件。我有这个到位,直到我不得不引入SSL。 说到apache和SSL证书,我需要做类似的事情:
SetEnv is_es 0<br>
SetEnvIfNoCase Host .*es is_es 1<br>
SSLCertificateFile /etc/ssl/certs/spanish.server.crt env=is_es<br>
这显然是不可能的,阿帕奇告诉我:
<i>SSLCertificateFile takes one argument, SSL Server Certificate file (`/path/to/file' - PEM or DER encoded)</i>
我想知道是否有任何解决方法。我的目标是避免使用相同配置的不同副本,并且必须手动传播我想要进行的任何更改。 它托管在专用服务器上,因此我可以自由对设置进行任何更改。
答案 0 :(得分:1)
当您使用https连接时,Host标头位于SSL封装内,因此在检查虚拟主机的主机名之前需要完整的SSL握手。
您应该使用SAN (Subject Alternative Names)获取SSL证书,这将允许多个主机名的单个证书。 (或通配符证书)
所有主流浏览器都支持它:
您可以从主要CA获得此证书之一: