certbot renew / certonly dash error: кодек ascii не может декодировать байт

Я получаю странную ошибку на lets-encrypt certbot, которая, кажется, связана с наличием тире в моем втором доменном имени (на реальном позиция 8 соответствует положению указанного тире).

Ошибка возникает независимо от того, пытаюсь ли я обновить или создать новый сертификат. Оригинальный (функциональный) сертификат был сгенерирован с помощью certbot no pb...

./certbot-auto certonly --nginx -d domain1 -d domain2
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Cert is due for renewal, auto-renewing...
Renewing an existing certificate
Performing the following challenges:
tls-sni-01 challenge for domain1
tls-sni-01 challenge for domain-2
Cleaning up challenges
An unexpected error occurred:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 8: ordinal not in range(128)

Что я могу сделать отсюда?


person Mathieu K.    schedule 22.02.2018    source источник


Ответы (3)


У меня действительно был не ascii-символ в этом файле, полезная команда для таких проблем:

grep -nRP '[\x80-\xFF]' /etc/nginx

Где /etc/nginx — это каталог/файл, в котором вы хотите найти символ, отличный от ascii. И где [\x80-\xFF] — это диапазон (в данном случае не-ascii), который вы хотите найти.

person Mathieu K.    schedule 25.05.2018

Используя следующую команду:

grep -r -P '[^\x00-\x7f]' /etc/apache2 /etc/letsencrypt /etc/nginx

Нашел мой в

/etc/letsencrypt/options-ssl-nginx.conf:        # The following CSP directives don't use default-src as 

Используя shed, я нашел оскорбительную последовательность. Это оказалось ошибкой редактора. 00008099: C2 194 302 11000010 00008100: A0 160 240 10100000 00008101: d 64 100 144 01100100 00008102: e 65 101 145 01100101 00008103: f 66 102 146 01100110 00008104: a 61 097 141 01100001 00008105: u 75 117 165 01110101 00008106: l 6C 108 154 01101100 00008107: t 74 116 164 01110100 00008108: - 2D 045 055 00101101 00008109: s 73 115 163 01110011 00008110: r 72 114 162 01110010 00008111: c 63 099 143 01100011 00008112: C2 194 302 11000010 00008113: A0 160 240 10100000

Используя редактор (например, vim), я отредактировал неправильную последовательность байтов.

person John Greene    schedule 26.08.2018

Следует отметить, что это также может быть результатом использования локали, отличной от ASCII, для редактирования файлов конфигурации веб-сервера, но тогда задание certbot cron этого не делает, что, в свою очередь, приводит к сбою попыток автоматического обновления.

Точно так же любой файл, который include создан из файлов конфигурации веб-сервера, анализируется certbot, поэтому может потребоваться проверка за пределами обычных каталогов.

person Josip Rodin    schedule 29.07.2019