nginx 1.9.14 导致 WordPress 评论提交失败

最近博客在评论功能上遇到一个故障,表现为提交评论等待时间非常长,长到需要40秒左右的等待时间,最终因 timeout 而提交失败,极少情况有成功的。

这个问题上周首次发现,当时以为可能是手机 Chrome 缓存或哪方面的问题,重装了 Chrome 问题仍未解决,本周一角落里博主再次提醒遇到评论提交失败的问题,感觉应该是服务端出问题了。

昨天一一排查了安装的几个插件和主题评论代码,本地也测试了这些插件和主题,没发现问题,也重装了 WordPress 程序,甚至怀疑过是 php.ini 配置上的问题,最后索性把 VPS 系统重装一遍,问题却始终没能解决。

今天早上突发奇想用 IE8 试着提交了一次评论,结果竟然顺利成功了,然而使用 Firefox、Chrome 不但要等待很长时间,最终结果基本都是无法成功提交。用 Firebug 在 Firefox 上分析了一下,结果发现提交评论后等待的时间开销都花在了 https://muguayuan.com/wp-comments-post.php 这个文件上。
WordPress 无法提交评论

通过 IE8 与 Firefox 和 Chrome 的对比我怀疑可能是其它方面的问题,想到在 VPS 上我给 nginx 装了 ngx_pagespeed 扩展,目前 nginx 版本为1.9.14,ngx_pagespeed 版本为1.11.33.0。nginx 从 1.9.x 开始支持 http2,而 IE8 不支持 http2,问题可能就出在这里。

果然,在 https://github.com/pagespeed/ngx_pagespeed/issues/1175 发现有人遇了到跟我一样的问题:pagespeed seems to break form submission,Goolge PageSpeed 开发人员建议切换到 nginx 1.9.13 测试,反馈者称切换到 1.9.13 后可以顺利提交。看来这是 nginx 1.9.14 的问题。打开 nginx.org 看到已经放出 1.9.15 的更新了,马上更新到 1.9.15,再测试,问题解决了。

发表评论

评论(5)

  1. 角落里

    现在评论提交好快啊,闪评。我差点以为又评论提交失败了。

  2. 角落里

    你也是技术大牛啊。你的博客用的是什么字体?看着很舒服。能分享下你的博客的字体css吗?

    1. Shrek

      @角落里 我只是小绵羊,倒是感觉你的字体比较养眼。现在用的字体汉字依次是苹方、雅黑和文泉驿微米黑这三个,英文是 Google Fonts 的Merriweather字体,这个字体也是 WordPress twentysixteen 的默认字体。
      使用Merriweather需要将下面这段代码加入到 head 中:
      <link href='https://fonts.googleapis.com/css?family=Merriweather:400,700' rel='stylesheet' type='text/css'/>
      css 字体样式是这样的:
      font-family:Merriweather,"Helvetica Neue",Helvetica,"PingFang SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;

      1. Dong

        @Shrek 谢谢,我使用你的字体css了,很满意。:)

        1. Shrek

          @Dong :) 不用客气