cPanelでの常時SSL化(HTTPS化)について

このブログを作成しているレンタルサーバが、スターサーバーであることは、以前、記事にて紹介しましたが、もう一つ管理しているサイトは、別のレンタルサーバ会社で契約させて頂いています。

公開しているサイトは、http://www.club-cavalier.com ということを公表していますので、DNS情報あたりから、調べは付くかとは思いますが、直接関係はないので、どこの業者かは濁しておきます。

そこでの常時SSL化(HTTPS化)についてのお話です。

無料でHTTPS化 Let’s Encryptを使ってみる

契約している会社は、httpでの接続が「ノーマル」な状態で、httpsでの接続は有償扱いです。よくある内容ですね。
とはいえ、昨今、httpでアクセスしようものなら「セキュリティ保護なし」とブラウザから警告されてしまいます。
そのため、サービスとして、共用SSLの提供をして頂いています。
https://serverXX.ホスティング会社名.net/~ユーザ名/ な感じでアクセスしてね、ということです。
これでは、独自ドメインを所有している意味もないですし、使いにくいですよね。

https://www.club-cavalier.com と、独自ドメインに httpsでアクセスすると、接続時に「信頼できないサイトだよ」と余計な警告が出されます。そう、自己署名証明書を適用して頂いています。

タイプURL信頼性コスト
共用SSLホスティング会社で共通無料
自己署名証明書独自ドメイン×無料

という感じです。
もちろん、独自SSLを取得すれば、独自ドメインで信頼性◎のサイトを構築できますが、コストはかなりのUPになります。
ここは、独自ドメインで、信頼性も○で、無料で行きたいものです。

というわけで登場するのが、Let’s Encrypt です。
無料でSSLサーバ証明書を発行してもらえます。
無料ではあるんですが、暗号強度という意味での信頼性は◎です。

タイプURL信頼性コスト
共用SSLホスティング会社で共通無料
自己署名証明書独自ドメイン×無料
独自SSL独自ドメイン高額
Let’s Encrypt独自ドメイン無料

ですが、この証明書は、有効期間が90日と短く設定されています。

サーバの管理権限一切を持っているなら、サーバ証明書の更新処理をCronで自動化させてしまえば、90日という日付を意識する必要はなくなるんですが、残念ながら共用サーバをレンタルしている身ですから、そのような自由はありません。

とはいえ、3ヶ月(弱)に一度、更新するという手間を惜しまなければ、何とかなるのではないか、と思いました。
このサーバでは、cPanelというツールを使用させて頂けますから、何らかの解決方法はありそうです。

cPanalとは、ウェブホスティングコントロールパネルで、結構いろいろな制御を自由に出来ます。ファイルの管理やデータベースの作成、電子メールアカウントの作成等々。その中に「SSL/TLS Status」という項目があり、ドメイン(club-cavalier.comを含む、そのサブドメイン)ごとに、証明書を設定できます。

つまりは、何らかの方法で Let’s Encrypt の証明書さえ手に入れることができれば、cPanelから登録ができそう、ということです。

外部サーバからSSLサーバ証明書を発行する

通常、サーバ管理者は、Certbotコマンドを使用して自サーバの証明書を取得します。
これに対し、外部サーバからの働きかけでサーバ証明書を発行する、というサービスの存在を知りました。
それが、ネットオウル社のSSL証明書サービス SSL BOX のプランの一つ、「Let’s Encrypt」です。会員にさえなれば、このサービスを使用するのも無料という、非常にありがたいサービスとなります。

ただ…。無料なのに厚かましい話ですが、ワイルドカード証明書は発行できないため、サブドメインごとに取得する必要があります。

当初、http://www.club-cavalier.com として運営していたサイトですが、内容を一新するにあたり、一新前の内容をアーカイブとして残し、一新したサイトはサブドメインで運用しようと考えたわけです。旧サイトと並行して新サイトを作成するためなんですが、トップからリダイレクトをかけてあげればサブドメインを意識してもらう必要はないですからね。

というわけで、新サイト用の next.club-cavalier.com と、アーカイブ用の archive.club-cavalier.com の二つのサブドメインに対して、SSLサーバ証明書を取得しました。

cPanelで証明書を設定

取得できた証明書(CRT)と秘密鍵(KEY)を、cPanaleの「SSL/TLS」に貼り付けます。

これで、
https://next.club-cavalier.com/
https://archive.club-cavalier.com/
への常時SSL化(HTTPS化)が完了です。

自動更新

これが、最大の悩みです。
現在のところ、契約しているサーバでのcPanelでのLet’s Encrypt自動更新は出来ません。cPanelとしては、Let’s Encrypt 用のプラグインを用意しており、これが適用されていれば自動更新できそうなのですが、残念ながら使用しているサーバのcPanelにはプラグインは入っていません。
ですので、3ヶ月弱に一度、手動にて更新する必要があります。

何とかならないものですかね。。