You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Certbot申请Let's Encrypt SSL证书时出现UnicodeDecodeError错误

报错根因

这个Unicode解码报错是Certbot的Nginx集成插件在扫描解析Nginx全站配置文件时触发的:你的某份Nginx配置文件里包含了非UTF-8编码的特殊字符(0x92字节对应Windows-1252编码的右弯单引号),大多是从Windows文档里复制配置内容时直接粘贴引入的。


修复步骤
  • 第一步:定位异常配置文件
    执行以下命令扫描所有Nginx配置,定位包含非法字符的文件:
    grep -ro $'\x92' /etc/nginx/
    
    如果你自定义过Nginx配置存放路径,把命令里的/etc/nginx/替换为你的实际配置目录即可,命令执行后会直接输出异常文件的路径。
  • 第二步:修正配置文件编码
    打开定位到的异常文件,找到非标准的弯引号、中文全角标点等特殊字符,全部替换为英文半角标点。也可以用以下命令直接把文件转码为UTF-8格式:
    # 先备份原文件
    cp 异常文件路径 异常文件路径.bak
    # 转码后覆盖原文件
    iconv -f WINDOWS-1252 -t UTF-8 异常文件路径.bak > 异常文件路径
    
  • 第三步:验证配置有效性
    执行nginx -t检查配置语法是否正确,确认输出test is successful后,执行systemctl reload nginx重载Nginx配置。
  • 第四步:重新执行Certbot证书申请命令即可正常生成证书。

临时替代方案

如果你暂时不想排查修改Nginx配置,可以不用Nginx集成模式,改用webroot/standalone模式申请证书,绕开Nginx配置解析步骤,示例命令如下:

# webroot模式示例,需要你的网站已经在运行
certbot certonly --webroot -w /var/www/你的网站根目录 -d 你的域名

内容的提问来源于stack exchange,提问作者patrick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 11:06:01