当社はIT技術のオンライン教育を得意としたセミナー専門会社です。 | 一戸英男

ITエンジニアの技術力UPをお約束します。

SSLサーバ移転に注意すべきこと(転送mod_rewriteが効かない場合の考察)

昨年(平成30年)からSSL仕様にする流れが大きくサーバトラブルの要因となるケースが発生している、特にサーバ移転や表示ドメインの変更時に注意が必要だ。これは何を意味しているかというと、概ね以下の問題点が出てくるためである。


SSLでサーバ移転で生ずる問題

  1. 旧httpドメインでのアクセスを取りこぼしたくないから転送処理を導入するが期待通りに動作しない
  2. SSL証明書をwww付きで取得するか、無しで取得するかでWEBサーバ設定やmod_rewrite等が影響を受ける
  3. 転送のキャッシュ、証明書のキャッシュは「強制リロード」、「履歴の削除」、「キャッシュの削除」では消えない場合がある。

SSL証明書を購入するときに注意をしないといけないのは「www]付きのドメインなのか否かである。SSL証明書発行局のブランドにより1つの証明書で「www付き」と「www無し」をサポートしてくれるものが中にはある。申請時点でwww.xxxx.comのようにコモンネームにwwwをつけた場合(あり・なしを双方サポート)するパターンがあるので申請時にどのコモンネームにするかはよく考えたほうが良い。以前はwww.xxxx.comだったがサーバ移転のタイミングでSSLにしてwww無しで行こうと考える場合は一番注意が必要だ。



つまりwww無しにしたとして、旧ドメインはwww付きであるためユーザの中には旧ドメインでアクセスしてくるものもいるだろう。それを取りこぼししないようにmod_rewriteを使ってwwwで来たものを無しに転送するといった手法は古くからある。しかし、SSLが絡んでくると複雑な状況になる。というのもSSLが付いているサーバアクセスではブラウザー側の挙動が転送処理をチェックする前にSSLのチェックを先に実施するパターンがあるからだ。


ここで発生する問題はwww無しでSSL取得したが、以前はwwwが付いていたのでそれをどうやって取りこぼしをしないように統合するかである。結論を先に言ってしまうと残念ながらSSL証明書はwww付きとwww無しの双方をサポートするSSL商品を購入するか、www付きとwww無しを個別に2つ購入するしかない。


その理由はブラウザー側にあり、SSLでアクセスするモードでは転送処理より優先してSSLチェックが発生するからである。chrome,opera,vivaldi等では転送前にSSLチェックは生じないがedge,safari,firefoxではSSLチェックが転送より先に発生するのである。つまり転送処理をいくら入れてもwww付きSSLがなかったり、wwwドメインがサイトに存在しないと「セキュリティに問題があるサイト」という判定になってしまうため転送まで行き着かないのである。