Назад | Перейти на главную страницу

SSL на домене, но не на поддоменах

У меня есть сайт https://www.example.org/ Я намерен создать http://games.example.com/ [без SSL].

Я запускаю Apache 2 на сервере Ubuntu 16.

Я хочу, чтобы субдомен оставался http, а основной домен оставался https. Что я должен делать?

На данный момент настройки следующие:

000-default.conf:

<VirtualHost *:80>
    ServerName www.example.com
    Redirect permanent "/" "https://www.example.com/"
    #SSLProtocol all -SSLv2 -SSLv3
    ServerAdmin contact@example.com
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
    ServerName games.example.com
    ServerAdmin contact@example.com
    DocumentRoot /var/www/games
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
    ServerName planets.example.com
    ServerAdmin contact@example.com
    DocumentRoot /var/www/2moons
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

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

<IfModule mod_ssl.c>
<VirtualHost _default_:443>
                            ServerAdmin contact@example.com
                            ServerName www.example.com

                            DocumentRoot /var/www/html

                            ErrorLog ${APACHE_LOG_DIR}/error.log
                            CustomLog ${APACHE_LOG_DIR}/access.log combined

                            SSLEngine on

                            SSLCertificateFile      /etc/ssl/certs/certificate.crt
                            SSLCertificateKeyFile /etc/ssl/private/private.key

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

                            BrowserMatch "MSIE [2-6]" \
                                                         nokeepalive ssl-unclean-shutdown \
                                                         downgrade-1.0 force-response-1.0

</VirtualHost>
</IfModule>

Учитывая, что рассматриваемый домен кажется followarmy.com Я пытался получить доступ http://games.followarmy.com/, который работает первым. Но при доступе https://followarmy.com затем http://games.followarmy.com/ больше не работает. Причина в том, что https://followarmy.com установить HSTS для домена:

Strict-Transport-Security: max-age=63072000; includeSubdomains

поскольку includeSubdomains установлены любые будущие посещения http://games.... будет автоматически перезаписан браузером на https://games..... Но при попытке получить доступ к сайту с https это не удастся, поскольку тема сертификата не соответствует сайту. Для получения дополнительной информации о заголовке HSTS см. документация.

Обратите внимание, что эту информацию нельзя увидеть в неполной конфигурации, которую вы показываете. Из этой конфигурации также не видно, что ваша настройка SSL нарушена. Вместо этого, отправляя листовой сертификат и необходимый промежуточный сертификат от Let's Encrypt, вы отправляете только листовой сертификат. Подробнее см. отчет ssllabs.