SSL証明書 無料の Let’sEncryptの発行トラブルを解決する。

メニュー

SSL証明書 無料の Let’sEncryptの発行トラブルを解決する。

2020/11/24

無償のSSL証明書発行で有名なLetsEncryptですが、うまく発行されない場合が多かったりします。最初の登録で3ヶ月後の更新を忘れたり、既に有償のSSLを使っていて期限を過ぎて更新しないと行けない。サーバ移転のときはどうするの?

長く使っていると概ねこのような問題に遭遇します。今回はLetsEncryptを発行するときのツボを解説したいと思います。

LetsEncryptには2種類の登録モードがある。

2種類のモード

スタンドアロン モード

WEBルート モード

この2つのモードの違いですが、スタンドアロンモードはWEBサーバの停止が必要です。一方WEBルート モードはWEBサーバの停止が必要ありません。

初心者にありがちなミス

既に有償のSSLライセンスが切れてLetsEncryptを使いたい場合

WEBサーバ停止することなく、「WEBルート モード」で発行が出来ます。もし失敗するようであればWEBサーバ停止してスタンドアロンモードで試してみてください。念の為、初心者の方には言っておきますがどちらのモードもSSL証明書の登録・更新設定をしたら再起動をお忘れなく。

初回の登録からの期限忘れで手動及び自動更新が失敗。

このケースでは、基本スタンドアロン モードでの新規登録となります。ただ単純にスタンドアロンモードで登録しても失敗することでしょう。以下のファイルを削除してください。

以上の作業が終わったら、再度新規発行してみてください。大概はうまくいくはずです。必ずWEBサーバを止めて、スタンドアロンモードで発行してください。

LetsEncryptを使用していましたが、サーバ移転で別のホスティングへ移したら登録できない。

/etc/letsencryptファイルを固めて新サーバへ持ってくれば、有効期限に達するまではすんなり使えます。問題は期限が来た時に起きます。この場合も更新ではなくて新規登録が必要。上記のSSL期限忘れと同じ要領の作業を行ってください。必ずサーバ移転先のIPアドレスにドメインが変更されていることを確認してから発行してください

既にDNS CAAレコードを設置している場合で、新規発行が失敗する。

以前使用していた有償などのCAAレコードとLetsEncryptのIssuer(発行者)が異なるため失敗している可能性があります。この場合はCAAレコードのissueをletsencrypt.orgに変更すると登録が出来ます。

キー発行時のエラー「urllib2.URLError: urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)」

このエラーは幾つか原因があるが最近のletsencryptはpython3を使う。更に証明書が古くなっているので更新する必要がある。大抵は古いバージョンLinuxを使っていると起こる問題だと思う。 python3がデフォルトになっていない場合はpython3に(sudo update-alternatives –config python)で切り替えてみよう。 次に証明書の更新だが次のようにする。

alternate未登録のケースの表示

alternate未登録のケースの場合は自分で登録する。

証明書の更新処理を行う。

以上を行った上でキーの発行を再度実行してみるとうまく行くはずだ。