certbot更新/ certonly破折号错误:' ascii'编解码器不能解码字节

时间:2018-02-22 16:30:19

标签: ssl lets-encrypt

我在let-encrypt certbot上遇到一个奇怪的错误,这似乎与我的第二个域名中存在破折号有关(在真实的一个位置8对应于所述破折号的位置)。

无论我尝试续订还是创建新证书,都会发生错误。原始(functionnal)证书是使用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)

我可以从这里做些什么?

3 个答案:

答案 0 :(得分:1)

应该注意,这也可能是由于使用非ASCII语言环境来编辑Web服务器配置文件而导致的,但是certbot cron作业没有执行此操作,从而导致自动更新尝试失败。

同样,从网络服务器配置文件include提取的任何文件都由certbot解析,因此可能有必要在典型目录之外进行检查。

答案 1 :(得分:0)

我在该文件中有一个非ascii字符,这些问题的有用命令是:

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

其中/etc/nginx是您要查找非ascii字符的目录/文件。而[\x80-\xFF]是您想要查找的范围(在本例中为非ascii)。

答案 2 :(得分:0)

使用以下命令:

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)删除了有问题的字节序列。