自動更新に失敗していたので新たにSSLサーバー証明書を取得してみた

SSLサーバー証明書の自動更新がうまくいかなかった件ですが、解決しました。
解決に向けて私が行った作業を記事にしたいと思います。

状況説明の記事をご覧になっていない方はこちらをどうぞ。

あわせて読みたい
SSLサーバー証明書の自動更新エラー SSLサーバー証明書が自動更新できなかったとのメールが届きました。 SSLサーバー証明書が切れてしまうとサイトへhttpsでアクセスすることができなくなるため一刻も早く...
目次

サポートから回答が届いた

自動更新が失敗した件についてサポートにメールで問い合わせていたのですが、その回答が届きました。
過去に何度か行われた自動更新は問題なく、その後に設定を変えたわけでもないのになぜ急に失敗するようになったのか気になっていたのですが、サポートからの回答は要約すると「解約予定のサーバーは自動更新されない」というものでした。
確かに数ヶ月前に解約手続きを済ませているサーバーではありますが、そういう切り分け方をしてくるんですね。

仕様なら仕様で構わない

サーバー内で何かしらの不整合が起きていて処理がゴチャゴチャになっている、とかではなくて一安心です。
そういう仕様ならそれで構いません。
「解約予定のサーバーの証明書は自動更新しない」ということが分かっただけでも問い合わせたかいがあったというものです。
「仕様」を持ち出されたらこれ以上サポートとやり取りしても何も解決しそうにないのでこちらで解決策を考えます。

解決策は2つ

1つは解約予定を取り消すこと。
そもそもの原因を取り除くというアプローチです。

もう1つはこちらでSSLサーバー証明書を取得して再度設定すること。
自動更新のためにいろいろ条件を突きつけてくるのならそれには頼らずこちらで全てをやってしまおうというアプローチです。

今回は後者で進めることにします。

SSLサーバー証明書の取得

Let’s Encrypt発行のSSLサーバー証明書は簡単に取得できます。
certbotというACMEクライアントを動かせる環境であればほんの数分の作業です。
私はVPS上で実行しましたが、AWS EC2インスタンスを数分だけ立ち上げるのもありだと思います。
Chromebookを使っている方であればそこにcertbotを入れるのもいいと思います。

簡単ではありますが以下に手順をまとめました。

  1. certbotコマンドで証明書の取得を行います。
    sudo certbot certonly –manual -d {ドメイン名}

    初回はメールアドレス(有効期限切れ間近の案内などが届く)を入力する必要があります。
    「規約に同意するか」と聞かれるので「A」で同意、「メールアドレスを登録してもいいか」とか聞かれるのでお好みで「y」か「n」、「IPアドレスを記録してもいいか」と聞かれるので「y」を入力します。

  2. 上記のコマンドを実行すると下記のようなメッセージが出てキー入力待ちとなります。
    この状態のまま、認証用のファイルをサーバー上に設置します。

    Create a file containing just this data:

    {下記のファイルの中に書く内容}

    And make it available on your web server at this URL:

    http://{ドメイン名}/.well-known/acme-challenge/{ファイル名}

    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
    Press Enter to Continue

    画面に表示されるURLでアクセスできるファイルに、指示された内容を書き込んで配置します。
    ファイルを配置後「enter」を押せば証明書ファイル一式が発行されます。
    どのパスに出力されたかは画面に表示されるのでそこから取得してください。
    (画面に表示されるのはシンボリックリンクで、実体は別にあるのでご注意ください)

  3. コントロールパネルからSSL証明書を設定します。
    ホスティング業者によってUIは違うと思いますが、「SSL設定を更新する」的な項目があると思います。
    そこで上記で取得したファイルを指定すれば設定は完了します。
    秘密鍵(privkey?.pem)とサーバー証明書(fullchain?.pem)を指定すれば多分大丈夫だと思います。
    尚、fullchain?.pemはcert?.pem(サーバー証明書)とchain?.pem(中間証明書)を連結したものです。
    fullchain?.pemではなく個別で指定する必要がある場合はこれらをお使いください。
上記「SSLサーバー証明書の取得」の部分については若干のサーバー運用経験がある方々を対象とさせていただきました。
また、対象となる方々におかれましても実行に際しては自己責任でお願いいたします。

参考サイト

あわせて読みたい
Let's Encrypt - フリーな SSL/TLS 証明書 Let's Encryptは、非営利団体の Internet Security Research Group (ISRG) が提供する自動化されたフリーでオープンな認証局です。
あわせて読みたい
Certbot Tagline

まとめ

ツインターボ
自動で更新されないなら自分で更新すればいいじゃない

バッチリでした。
今までの経験が役に立ちました。

私と同じ状況で自動更新が失敗する方がどれだけいるかは分かりませんが、この記事が何らかの参考になれば幸いです。

この記事が気に入ったら
フォローしてね!

  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次