Let's Encrypt
の証明書を更新する際に「 certbot-auto renew
」コマンドを実行するのですが、下記のエラーが出て更新失敗した時の対処法をメモしておきます。
「 produced an unexpected error: 'ascii' codec can't decode byte 0xe3 in position 22: ordinal not in range(128)
」
エラーの原因
エラーの原因としては nginx
のコンフィグファイルに日本語でコメントなどが記述されている場合にエラーが発生するようです。
エラーの対処法1
nginx
のコンフィグファイルと、呼び出しているコンフィグファイルから、日本語部分を削除することでエラーは発生しなくなります。
エラーの対処法2
日本語のコメントを残しておきたい場合、以下の手順により対処可能です。
site-packages ディレクトリ内に sitecustomize.py というファイルを作成する。
Let's Encrypt
がインストールされている Python
の site-packages
ディレクトリに sitecustomize.py
というファイルを作成します。
ファイルの中身は以下の通りです。
import sys
sys.setdefaultencoding('utf-8')
Python
2系の環境だとデフォルトのエンコーディングが「 ascii
」になってる?っぽくて、それを「 utf-8
」に変更しています。
最後に
もし、 Let's Encrypt
を利用していて同じエラーが出ている人がいれば一度試してみてください。
コメント