阿帕奇2 | 1 个 IP 的 2 个域 | SSL 配置 1x 正常 1x 通配符

Apache2 | 2 Domains with 1 IP | SSL Configuration 1x normal 1x Wildcard

我有 2 个域。 domain2.io(2 个子域)与 Wildcard SSLdomain1.denormal SSL。 我的问题是 domain2.io 不知何故正在使用来自 domain1.de 的 SSL。我做错了什么?这是我的配置:

000-default.conf:

    <VirtualHost *:80>
        ServerName domain1.de
        ServerAlias www.domain1.de
        Redirect / https://www.domain1.de/
</VirtualHost>

<VirtualHost *:80>
        ServerName domain2.io
        ServerAlias www.domain2.io
        Redirect / https://domain2.io/
</VirtualHost>

<VirtualHost *:80>
        ServerName service.domain2.io
        ServerAlias www.service.domain2.io
        Redirect / https://service.domain2.io
</VirtualHost>

<VirtualHost *:80>
        ServerName webapp.domain2.io
        ServerAlias www.webapp.domain2.io
        Redirect / https://webapp.domain2.io
</VirtualHost>

这是我的 000-default-ssl.conf:

    NameVirtualHost *:443

<IfModule mod_ssl.c>
        <VirtualHost *:443>
                ServerAdmin webmaster@localhost
                ServerName domain1.de
                DocumentRoot /var/www/html/apps/domain1/new/
                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined.
                SSLEngine on
                SSLCertificateFile    /etc/apache2/ssl/domain1/domain1.de.crt
                SSLCertificateKeyFile /etc/apache2/ssl/domain1/domain1.de.key
        </VirtualHost>

        <VirtualHost *:443>
                ServerName domain2.io
                DocumentRoot /var/www/html/websites/domain2/webapp/
                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined.
                SSLEngine on
                SSLCertificateFile    /etc/apache2/ssl/domain2/domain2.io.crt
                SSLCertificateKeyFile /etc/apache2/ssl/domain2/domain2.io.key
        </VirtualHost>

        <VirtualHost *:443>
                ServerName service.domain2.io
                ServerAlias www.service.domain2.io
                DocumentRoot /var/www/html/websites/domain2/backend/
                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined.
                SSLEngine on
                SSLCertificateFile    /etc/apache2/ssl/domain2/domain2.io.crt
                SSLCertificateKeyFile /etc/apache2/ssl/domain2/domain2.io.key
        </VirtualHost>

        <VirtualHost *:443>
                ServerName webapp.domain2.io
                ServerAlias www.webapp.domain2.io
                DocumentRoot /var/www/html/apps/domain2/
                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined.
                SSLEngine on
                SSLCertificateFile    /etc/apache2/ssl/domain2/domain2.io.crt
                SSLCertificateKeyFile /etc/apache2/ssl/domain2/domain2.io.key
        </VirtualHost>
</IfModule>

wildcart 证书不起作用,因为它适用于 *.domain2.io - 因此它不会匹配 domain2.io。 所以你需要一个单独的 domain2.io 证书 - 或者使用 www.domain2.io.

使用let's encrypt certs再获取一个应该没问题。