突发性nginx异常无法启动ssl证书无法部署

突发性nginx异常无法启动ssl证书无法部署

nginx version: nginx/1.26.3

nginx: [emerg] "http2" directive is duplicate in /www/server/panel/vhost/nginx/1.4.1.4.conf:6
nginx: configuration file /www/server/nginx/conf/nginx.conf test failed

 

这两天遇到一个新鲜的网站入侵,

做互联网的这段时间我遇到的攻击方式也不少了,

通常黑客攻击会从nginx和mysql方面下手,也是常见的攻击入口

近期博主在网站ssl到期后发现无法申请,经过服务器重启之后,该病毒伴随启动

nginx停止且启动异常,尝试重装和编译无法解决,尝试宝塔修复无法解决

对照日志错误路径发现网站曾经配置过http2指令

发现该指令在服务器重启后会增生,删除增生指令,问题修复

这个错误提示表明在你的 Nginx 配置文件中,http2 指令被重复定义了。


具体来说,在 /www/server/panel/vhost/nginx/1文件路径.24.conf 文件的第 6 行再次出现了 http2 指令,而这个指令已经在其他地方(通常是主配置文件 nginx.conf 或其他包含的配置文件中)定义过了。


解决方法:


  1. 打开 /www/server/panel/vhost/nginx/1文件路径.24.conf 文件
  2. 找到第 6 行的 http2 指令
  3. 删除或注释掉这一行(使用 # 开头注释)
  4. 重新测试 Nginx 配置:nginx -t
  5. 如果测试通过,重启 Nginx:nginx -s reload


http2 指令通常是在 listen 指令中使用的,例如:listen 443 ssl http2;,只需要在一个地方定义即可,不需要重复添加。
为什么会出现重复定义指令的情况?
除了指令重复,还有哪些常见的Nginx配置错误?
如何避免在Nginx配置文件中出现重复定义指令的情况?
 
© 版权声明
THE END
喜欢就支持一下吧
点赞45 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容