如何使用别名在Apache虚拟主机上配置多个SSL证书?
我有一个web应用程序,在几个国家/地区运行,代码相同。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
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
。