web-dev-qa-db-ja.com

ドメインにはSSLがありますが、サブドメインにはありません

https://www.example.org/ で実行されているWebサイトがあります http://games.example.com/ [SSLなし]を作成するつもりです。

Ubuntu16サーバーでApache2を実行しています。

サブドメインはhttpのままにし、メインドメインはhttpsのままにしておきたい。私は何をすべきか?

現時点での設定は次のとおりです。

000-default.conf:

<VirtualHost *:80>
    ServerName www.example.com
    Redirect permanent "/" "https://www.example.com/"
    #SSLProtocol all -SSLv2 -SSLv3
    ServerAdmin [email protected]
    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 [email protected]
    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 [email protected]
    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 [email protected]
                            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>
1
Alphabetus

問題のドメインが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レポート を参照してください。

14
Steffen Ullrich