昨日のことですけど、このブログを開いたら「この接続ではプライバシーが保護されていません」と表示されていました。
[st-kaiwa1]いったい、何やらかしたの???[/st-kaiwa1]
[st-kaiwa2]なぜか、勝手に SSL が無効になってたんだよね…[/st-kaiwa2]
結論から言うと、サーバー「mixhost」では推奨しない設定を僕はしていたようで、無料SSLが突然無効になってしまっていました。
ということで、無料SSLを勝手に無効化してしまう(更新されない)原因と復活させる方法を紹介します。
[st-mybox title=”” webicon=”” color=”#333333″ bordercolor=”#37beb0″ bgcolor=”#fcfcfc” borderwidth=”2″ borderradius=”5″ titleweight=”bold” fontsize=””]
「mixhost」で起きた事例ですけど、「LiteSpeed」を採用しているサーバー(カラフルボックス、JETBOY、ラクサバ など)を利用している人も同じ現象が起きるかもしれないです。
[/st-mybox]
mixhost で SSL が無効化される(更新されない)原因
サイトにアクセスして、「この接続ではプライバシーが保護されていません」と表示されたら SSL が無効になっている可能性が高いので、まずは確認してみましょう。
cPanel で「SSL/TLS」の項目に入り、「サイトの SSL のインストールおよび管理(HTTPS)」に進みます。
そこで対象となるサイトのドメインの前が「 」になっていたら、SSL が無効になっています。
余計な記述をしていると SSL が無効となる可能性が高い
実は、mixhost のヘルプページを見てみると下記のような表記があります。
ドキュメントルートの.htaccessファイルに不要な記述はございませんか?
ドキュメントルートの.htaccessファイルに、他社サーバーでのPHPバージョン設定の記述など、mixhostでは不要な記述が含まれていると、SSLのご利用に問題が発生する場合がございます。
SSLがご利用いただけない場合は、まずは最低限の.htaccessファイルにご変更をお試し下さい。特に次のような、FastCGI関連の内容が含まれる.htaccessファイルで問題が発生する事が多くあります。
AddHandler fcgid-script .php .phps
FCGIWrapper “/home/example/example.com/php/php-cgi” .php
FCGIWrapper “/home/example/example.com/php/php-cgi” .phps
引用元:無料独自SSLのトラブルシューティング
要するに、.htaccessファイルに余計な記述をしていると、SSL 証明書が発行されない可能性があるってことですね。
そこで、ファイルに何を記述したか思い出してみると…
[st-mybox title=”” webicon=”st-svg-check-circle” color=”” bordercolor=”#37beb0″ bgcolor=”” borderwidth=”2″ borderradius=”5″ titleweight=”bold”]
- セキュリティ強化
- 301リダイレクト
[/st-mybox]
FastCGI関連の内容を追加すると問題が多く発生するということで、怪しいのは「301リダイレクト」の部分かなと。
ということで、「301リダイレクト」の記述を削除しました。
無効になった SSL を復活させる方法
.htaccessファイルから余計な記述を削除すると、しばらくして復活…
というわけでもないようです。
[st-kaiwa2]自動更新されなかったケースでは、しばらくすると SSL が復活する場合もあるようです。[/st-kaiwa2]
適用されていた SSL 証明書が何らかの理由で無効となったわけなので、インストールし直す必要があります。
SSL 証明書を再インストールする手順
cPanel で「SSL/TLS」の項目に入り、「証明書(CTR)」に進みます。
すると、有効期限が先日付の証明書があると思うので、その項目にある「 インストール」を押します。
すると、「サイトの SSL のインストールおよび管理(HTTPS)」のページに切り替わり、さらに証明書内容が自動で入力された状態になります。
そうしたら、「証明書のインストール」のボタンを押せば完了となります。
「サイトの SSL のインストールおよび管理(HTTPS)」のページで対象ドメインを確認して、「 」になっていれば OK です。
証明書のインストールが完了した後、しばらくは同じ項目にある別のものが一時的に無効になったりしましたが、しばらくしたらそちらも有効となりました。
プラグインでリダイレクトさせる方法
今回の僕のケースでは「301リダイレクト」の記述が原因だったのですが、同じ内容を記述している人も多いと思うんですよ。
その場合は、mixhost が推奨しているリダイレクト用のプラグインがあるので、そちらを使ってみましょう。
プラグインで自動的に https へ置き換え
mixhost のヘルプページでは、このような記述があります。
WordPress内部のhttpsへの置き換え
手動や置換ツールを使用して記事を修正したり、テーマやプラグインを編集する作業は大変な作業です。
そこで弊社では、この問題に関してReally Simple SSLというWordPressプラグインのご利用を推奨しております。
このプラグインをインストールする事で、全自動でhttp://から始まるURLがhttps://から始まるものに置換されます。
引用元:WordPressのSSL対応方法
上記にある「Really Simple SSL」は、http でアクセスされても自動的に https にリダイレクトしてくれる便利なプラグインです。
利用方法は、インストールしてから有効にすれば基本的に OK です。
さいごに
お昼頃に PV 数を見たら朝から全くアクセスされていなかったので、「何事か!?」とちょっと焦ってしまいました。
同じ事例になる人は少ないかもしれませんが、PV 数がなくなると死活問題になる場合もあるので、同じ事例の人はサクッと解決しちゃいましょう。