Как установить SSL на несколько сайтов на одном IP в Apache - PullRequest
0 голосов
/ 04 июня 2019

Я купил три сертификата от SSLS (не OpenSSL, как описано в большинстве примеров и учебных пособий) для двух доменов + один поддомен. Давайте назовем их mysite1.com, www.mysite1.com и mysite2.com. Я пытаюсь установить сертификаты на одном сервере с одним IP-адресом. Ранее я пробовал это с OpenSLL, и все испортилось, плюс это производственная среда, поэтому я не могу позволить себе экспериментировать. Я посмотрел много уроков, в том числе:

https://www.digicert.com/ssl-support/apache-multiple-ssl-certificates-using-sni.htm

https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-apache-in-debian-9

Вот что у меня есть:

по умолчанию-ssl.conf:

<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
        ServerName mysite1.com
                ServerAdmin me@mysite1.com

                DocumentRoot /var/www/mysite1.com

                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined
                SSLEngine on
                SSLCertificateFile      /var/www/ssl/certs/mysite1.com.crt
                SSLCertificateKeyFile /var/www/ssl/private/mysite1.com.key

                SSLCertificateChainFile /var/www/apache2/ssl.crt/mysite1.com.ca-bundle

                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>

        </VirtualHost>
        <VirtualHost mysite2.com:443>
        ServerName mysite2.com
                ServerAdmin me@mysite1.com

                DocumentRoot /var/www/mysite2.com

                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined
                SSLEngine on
                SSLCertificateFile      /var/www/ssl/certs/mysite1.com.crt
                SSLCertificateKeyFile /var/www/ssl/private/mysite1.com.key

                SSLCertificateChainFile /var/www/apache2/ssl.crt/mysite1.com.ca-bundle

                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>

        </VirtualHost>
</IfModule>

ports.conf

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf

Listen 80

<IfModule ssl_module>
        Listen 443
</IfModule>

<IfModule mod_gnutls.c>
        Listen 443
</IfModule>

У меня есть несколько вопросов:

Я предполагаю, что NameVirtualHost больше не требуется (в соответствии с this ) или я должен поставить его на всякий случай?

Не знаете, что делают FilesMatch и Directory - они требуются?

Как мне настроить адрес www.mysite1.com?

Что-нибудь еще, что мне нужно сделать?

Ваша помощь приветствуется.

...