KUSANAGIでLet’s EncryptのSSL証明が更新されなかった時の対処法
KUSANAGI + AWSで運用しているブログがプライバシーエラーで表示されなくなりましたorz
調べてみるとSSL証明が切れた事が原因のようです。
Let’s Encryptは3ヶ月で更新する必要があるので、その更新に失敗したのでしょう。
いろいろ試して復活できましたのでその過程を紹介します。
Let’s Encryptを更新
KUSANAGIにはL証明書を更新するコマンドがあるので実行してみる。
rootユーザになって
# kusanagi update cert
しかしエラーが出て更新できない。
Updating letsencrypt and virtual environment dependencies..... Error [Errno 12] Cannot allocate memory while executing command python setup.py egg_info Exception: Traceback (most recent call last): File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main status = self.run(options, args) File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/pip/commands/install.py", line 299, in run requirement_set.prepare_files(finder) File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/pip/req/req_set.py", line 370, in prepare_files ignore_dependencies=self.ignore_dependencies)) File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/pip/req/req_set.py", line 601, in _prepare_file abstract_dist.prep_for_dist() File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/pip/req/req_set.py", line 127, in prep_for_dist self.req_to_install.run_egg_info() File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/pip/req/req_install.py", line 425, in run_egg_info command_desc='python setup.py egg_info') File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/pip/utils/__init__.py", line 678, in call_subprocess cwd=cwd, env=env) File "/usr/lib64/python2.7/subprocess.py", line 711, in __init__ errread, errwrite) File "/usr/lib64/python2.7/subprocess.py", line 1224, in _execute_child self.pid = os.fork() OSError: [Errno 12] Cannot allocate memory /usr/lib/kusanagi/lib/functions.sh: line 352: /etc/letsencrypt/live/サイト名/scts/aviator.sct: No such file or directory /usr/lib/kusanagi/lib/functions.sh: line 353: /etc/letsencrypt/live/サイト名/scts/pilot.sct: No such file or directory /usr/lib/kusanagi/lib/functions.sh: line 354: /etc/letsencrypt/live/サイト名/scts/rocketeer.sct: No such file or directory
KUSANAGIをバージョンアップ
調べてみると「KUSANAGI7.8.3」が出ていたのでバージョンアップする。
# yum update -y kusanagi*
再びLet’s Encryptを更新
もう一度Let’s Encryptを更新すると今度はうまくいった。
# kusanagi update cert
これでSSL証明書のエラーは解決できたが、今度は502エラーorz
そして解決へ
nginxを再起動しても解決せず。
# sudo systemctl restart nginx
KUSANAGIをリスタートしたら何故か「Fail」
# kusanagi restart
バージョンアップ情報を見てみると、monit による監視設定を行えるようになったらしく状態を確認してみる。
# kusanagi monit monit is on Done.
オンになっているようだ。
このタイミングでブログを更新してみると何故か表示されるようになる。
monitの説明に「5xx の応答コードを検知したときに現在起動しているKUSANAGIのミドルウェアを再起動します。」と書かれているので、一度502エラーをだしたからKUSANAGIのミドルウェアが再起動されて表示されるようになったのかな?
原因
よくわかりませんが、Let’s Encryptの標準的なクライアントが、letsencrypt-auto から、certbot-auto に変更されたことが原因かな?
週3日の副業で月50万
月50万稼げたら年収は600万で、普通の人以上の生活ができます。
それが週3日で稼げたら、残りの4日をどう過ごしますか?
- 自分の趣味に全力を注ぐ
- 家族との時間を増やし、子供の成長をしっかりと見守る
- 毎週海外へ旅行へ行く
- 新しいことに挑戦する
- 何もせず、のんびり自由な時間を過ごす
週の半分以上が自分の好きなことに使えるのなら、人生は楽しい物になりますよね!
週2日の休みが増えるということは、
年間104日も増え、365日のうち208日も自分の時間に使えるのです!
更に、今30歳だとして、65歳まで働いたら、
3,640日も変わってきます!!10年以上ですよ!10年!!
週2日の休みのために5日を無駄にする生活をいつまで続けますか?
週4日の自由をたった3日で稼いで、自分のために自由に時間を使う生活をはじめましょう!
週3日で50万円稼げる案件は、業界最大級の案件を保有しているレバテックフリーランスで見つけられます。
1分で完了する無料登録で、時間の自由への一歩を踏み出しましょう!
おわりに
不意に訪れるサーバーのエラーは恐ろしいです。
いろいろ調べている時のドキドキは何度経験しても嫌ですね〜。。。