原文链接 https://bysocket.com/nginx-unexpected-end-of-file-expecting-in-key-file/
一、Nginx unexpected end of file 问题
通过 letsencrypt 申请证书后,默认服务器安装了 Nginx 1.8 发现,在默认的 /etc/nginx/sites-enabled/default 内容配置 SSL 的 site.com.key 后。重启 Nginx 出现一下错误:
nginx: [emerg] unexpected end of file, expecting ";" or "}" in /etc/nginx/sites-enabled/site.com.key:27
二、定位和解决
上述通过日志发现了这个问题,日常谷歌下,发现都不是在这个问题。普遍的是 conf 文件,少了 ";" or "}" 结尾。我这个提示最关键的是说 SSL key 文件里面存在这个问题,其实 SSL 生成文件没错。
后来发现,原来是默认 nginx 的问题。
解决方法:
将 /etc/nginx/sites-enabled/default 里面配置 server 迁移到主配置文件 /etc/nginx/nginx.conf
原因:
默认 nginx 有如下配置:
- 主配置文件 /etc/nginx/nginx.conf
- include 了默认 server 内容文件 /etc/nginx/sites-enabled/default
但默认 server 相关文件内写入 SSL 相关信息会上述的错误
出处:公号「程序员泥瓦匠」
博客: https://bysocket.com/内容涵盖 Java 后端技术、Spring Boot、Spring Cloud、微服务架构、运维开发、系统监控等相关的研究与知识分享。