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

How to configure multiple SSL certs on Apache virtual host with aliases?

我有一个使用相同代码在多个国家域上运行的网络应用程序。 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 是否可以在虚拟主机容器中配置多个 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>