Search code examples
sslapache2subdomain

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


I have 2 Domains. domain2.io (2 Subdomains) with Wildcard SSL and domain1.de with a normal SSL. My Problem is that domain2.io somehow is using the SSL from the domain1.de. What did I wrong? Here is my configuration:

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>

And here my 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>

Solution

  • The wildcart cert would not work, because it is for *.domain2.io - so it will not match domain2.io. So you need a separate cert for domain2.io - or use www.domain2.io.

    Should be no problem when using let's encrypt certs to get another one.