※ ChatGPTを利用し、要約された質問です(原文:HTTPSにおけるリダイレクト設定に関して)
HTTPSにおけるリダイレクト設定に関する問題と解決方法
このQ&Aのポイント
HTTPSにおけるリダイレクト設定に関してApache2.2+mod_sslでの問題が発生しています。特定のURLへのアクセスに対して正しいSSL証明書が表示されず、エラーメッセージが表示される問題です。
問題の原因は、証明書が特定のドメインに対して発行されていないためです。具体的には、「https://sample.com/」へのアクセス時に正しい証明書が表示されず、エラーメッセージが表示されます。
問題を解決するためには、以下の手順を行う必要があります。
1. 「sample.com」に対しても証明書を発行する。
2. リダイレクト設定を行い、すべてのアクセスが「https://www.sample.com/」にリダイレクトされるようにする。
Apache2.2+mod_sslにてSSL通信環境を構築しました。
DNS設定は「sample.com」も「www.sample.com」も同じサーバIPを指定しております。
「www.sample.com」をコモンネームとした証明書を認証局から取得し、
「https://www.sample.com/」にアクセスする場合は問題はありませんでした。
しかし、「https://sample.com/」にアクセスすると、
IEでは「このWebサイトのセキュリティ証明書には問題があります。」と表示されてしまいます。
この問題を解決しようとリダイレクトの対処も含め、以下の様な対応を行いましたが解決できませんでした。
どの様な対応を行えば、上記問題を解決する事ができるのでしょうか?
「sample.com」についても証明書を発行してもらうしかないのでしょうか?
皆様のお知恵をお借りしたく、何卒よろしくお願い致します。
以下、行った対応 ――――――――――――――――――――――
■mod_rewrite.soを有効にする。
LoadModule rewrite_module modules/mod_rewrite.so
■httpd.confの末尾に以下を追記する。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^sample\.com
RewriteRule ^/(.*)$ https://www.sample.com/$1 [R=301,L]
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*)?$ https://%{HTTP_HOST}/$1 [L,R]
</IfModule>
■3.httpd-ssl.confに以下を追記する。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^sample\.com
RewriteRule ^/(.*)$ https://www.sample.com/$1 [R=301,L]
</IfModule>
お礼
回答ありがとうございます。 やはり証明書をなんとかしないと、どうしようもないですか・・・。 今回ベリサインにて証明書を取得したのですが、ワイルドカードの証明書は発行していない様ですので、新たに「sample.com」の証明書を取得するか検討したいと思います。 https://www.verisign.co.jp/ssl/help/faq/110114/index.html