Nginx配置HTTPS证书时提示第1行缺少},排查无果求助
Nginx配置报错"unexpected end of file, expecting }"的排查方案
可能的原因及解决步骤:
文件开头存在隐藏BOM头:UTF-8编码的BOM头(显示为
)会被Nginx当作无效字符,导致解析时认为第1行语法错误。
执行命令查看文件开头的隐藏字符:cat -A /etc/nginx/sites-enabled/default如果开头出现
^@或者,说明存在BOM头。解决方法:用sed命令去除:sed -i '1s/^\xef\xbb\xbf//' /etc/nginx/sites-enabled/default或者用服务器原生编辑器(如nano、vim)重新保存文件为无BOM的UTF-8格式。
文件被意外截断或损坏:虽然你贴出的配置内容完整,但实际服务器上的文件可能因编辑失误、传输问题导致开头部分缺失。
先备份现有文件:sudo cp /etc/nginx/sites-enabled/default /etc/nginx/sites-enabled/default.bak再用
vim或nano重新写入你提供的完整配置内容,保存后执行sudo nginx -t测试。编辑器插入特殊控制字符:部分非原生编辑器(如Windows下的记事本)可能在保存时插入不可见控制字符,导致Nginx解析失败。建议始终使用服务器自带的文本编辑器编辑配置文件。
完成操作后,再次运行sudo nginx -t验证配置,测试通过后重启服务:
sudo service nginx restart
内容的提问来源于stack exchange,提问作者César Arquero Cabral
相关产品推荐
相关产品推荐

