Tomo.Log()


CerbotでLet's Encriptの自動更新がうまくいかなかった話

[10/21, 2019]

こんにちは、最近「まいばすけっと」の魅力に気がつきました。こんにちは、トモです。

最近はTSLがきれていると、Chromeなどのブラウザで警告が出て、表示することができない仕様担っていますよね。

このTomo.LogはTSLの証明書の発行をLet's Encriptを使って行なっています。さらに、Certbotを使って自動更新しているのですが、年に1回くらい更新に失敗して、気づいたら証明書の有効機嫌がきれていてよく焦ります😅

毎回証明書がきれてから気づいて戸惑ってしまうので、メモしておきます。

Cerbot自体の更新(アップデート)

よくあるのが、Cerbot自体が更新されていなくて、更新しないとrenewさせないよーって怒られたりします。なのでひとまずCerbotを更新します。

//パッケージの更新
sudo apt-get update

//パッケージのインストール
sudo apt-get install

//もしくは cerbotだけインストール
sudo apt-get install --only-upgrade certbot

CerbotでRenewを試してみる

certbot renew --dry-run //更新のテスト

上記のコマンドで更新のテストをしてみます。だいたいOK なのですが、今回初めて怒らて下記のエラーが出ました。

Cert is due for renewal, auto-renewing...
Plugins selected: Authenticator nginx, Installer nginx
Starting new HTTPS connection (1): acme-staging-v02.api.letsencrypt.org
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for tomolog.reafo.io
nginx: [error] invalid PID number "" in "/run/nginx.pid"
Cleaning up challenges
nginx: [error] invalid PID number "" in "/run/nginx.pid"

・・・さらにエラーは続く

「nginx: [error] invalid PID number "" in "/run/nginx.pid"」この辺が怪しそうですね。

Nginxの停止と再起動

とりあえずリスタート

とりあえずリスタートしてみました。

nginx -s reload //nginxのリロード

しかしまたしても、怒られてしまいました。

nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
・・・さらにエラーは続く

そこで、停止を試みます。

 nginx stop //nginxの停止

ダメなようです。。。なぜ??

Failed to stop nginx.service: Access denied
See system logs and 'systemctl status nginx.service' for details.

プロセスを切る(Kill)

下記コマンドでngnxのプロセス一覧を表示します。

 ps aux | grep nginx //プロセス一覧の表示

「nginx: worker process」と書かれたプロセスがいくつか出ると思います。

user_name  12345  0.0  0.4 127248  4072 ?        S    Aug09  14:19 nginx: worker process

なので、左から二番目のプロセス番号を使ってkillしてあげます。

kill 12345 //プロセスの停止

再起動

nginxは「nginx」と打てば起動できます。

nginx //nginx起動

再度Cerbotで更新してみる

再度dry runで更新できるか試してみます。もしも問題がなければdry runを外して更新をする。

certbot renew //更新の問い合わせ

ちなみに、dry runをせずにrenewで一定回数失敗すると、一定時間アクセスできない制限がかかってしまうので、試すときは必ずdry runオプションをつけるようにしましょう。

今回はこれで直り、無事更新できました。

ふー焦った😅