Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用别名在Apache虚拟主机上配置多个SSL证书?_Apache_Ssl_Certificate_Apache2_Virtualhost - Fatal编程技术网

如何使用别名在Apache虚拟主机上配置多个SSL证书?

如何使用别名在Apache虚拟主机上配置多个SSL证书?,apache,ssl,certificate,apache2,virtualhost,Apache,Ssl,Certificate,Apache2,Virtualhost,我有一个web应用程序,在几个国家/地区运行,代码相同。Apache配置了别名。除了配置单个SSL证书外,这是可行的: ServerAlias *.server-at ServerAlias *.server-ch ServerAlias *.server-es SSLEngine on SSLCertificateFile /etc/ssl/certs/rex.server-de.crt SSLCertificateKeyFile /etc/s

我有一个web应用程序,在几个国家/地区运行,代码相同。Apache配置了别名。除了配置单个SSL证书外,这是可行的:

    ServerAlias *.server-at
    ServerAlias *.server-ch
    ServerAlias *.server-es

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/rex.server-de.crt
    SSLCertificateKeyFile /etc/ssl/private/rex.server-de.key

使用apache2是否可以在virtualhost容器中配置多个SSL证书?

您可以使用虚拟主机轻松地为每个域配置单个证书,通过
ServerName
区分请求。比如说

listen 443

<VirtualHost *:443>
    ServerName rex.server.de:443
    SSLEngine on
    SSLCertificateFile " /etc/ssl/certs/rex.server-de.crt"
    SSLCertificateKeyFile " /etc/ssl/certs/rex.server-de.key"
</VirtualHost>

<VirtualHost *:443>
    ServerName rex.server.at:443
    SSLEngine on
    SSLCertificateFile " /etc/ssl/certs/rex.server-at.crt"
    SSLCertificateKeyFile " /etc/ssl/certs/rex.server-at.key"
</VirtualHost> 
听443
ServerName rex.server.de:443
斯伦金安
SSLCertificateFile“/etc/ssl/certs/rex.server-de.crt”
SSLCertificateKeyFile“/etc/ssl/certs/rex.server-de.key”
ServerName rex.server.at:443
斯伦金安
SSLCertificateFile“/etc/ssl/certs/rex.server at.crt”
SSLCertificateKeyFile“/etc/ssl/certs/rex.server at.key”

是的,这是可能的。但是,有几个配置选项需要复制。我正在寻找一个更“优雅”的解决方案,我可以添加几十个别名,而不是几十个VHs。证书的主机名必须与服务器的服务器名匹配。使用别名服务与配置的证书主机名不匹配的请求将被浏览器拒绝。每个虚拟主机可以配置一个证书,并且您不能使用通配符,因为您的域后缀不同,因此我担心您需要为每个域配置一个虚拟主机。对于OP来说,可能太晚了,但是,如果您有需要放入多个VHs的相同选项,您可以将它们放入一个包含文件中,并从不同的VHs中包含相同的包含文件。这样,每个VH将有不同的服务器名和证书,只有一个Include指令。我已经摆弄了几天,这是有效的!谢谢对于来这里试图为RocketChat设置加密的其他人来说:我的秘密是(1)删除
ReverseProxy密码
行,(2)使用
ServerName聊天。example.com:443