记录一次 nginx 502错误解决方法思路 🎨

博客在某一次更新之后,突然部分页面在访问时,跳出了Nginx 502的错误页面,当时第一个想法时查看博客后台服务器的错误日志,结果并没有抛出相关的异常。之后去nginx的日志里(默认记录日志在/var/log/nginx/)查找错误信息,果然找到错误信息的位置:

2021/08/01 00:54:18 [error] 4539#4539: *406960 upstream sent too big header while reading response header from upstream, 
client: 112.19.236.168, server: www.lonuslan.com, 
request: "GET /articles/2021/08/01/1627749166108.html HTTP/1.1", 
upstream: "http://106.52.77.158:9292/articles/2021/08/01/1627749166108.html", 
host: "www.lonuslan.com", 
referrer: "https://www.lonuslan.com/"

报错内容为upstream sent too big header while reading response header from upstream意思就是header中下入了太多的内容导致溢出了nginx关于header缓存的基本配置,这里治标不治本的做法是百度这个错误类型,然后修改关于header缓存的配置。

nginx的配置文件中(/etc/nginx/conf.d/myweb.cnf,根据你的配置文件所在位置)的server部分,配置以下信息:

proxy_buffer_size 64k;
proxy_buffers 8 64k

之后就可以正常访问之间报502的错误页面了,不过这不是最佳的解决方法。因为该错误从根本上来说是由于程序向header中写入了大量的内容才导致nginx配置的内存溢出,从根本上来说还需要定位到程序向header写入的内容部分再去分析,优化代码。

TODO!


标题: 记录一次 nginx 502错误解决方法思路 🎨
文章作者: lanlonus
文章链接: https://louislan.com/articles/2021/08/01/1627781668900.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Hi I'm LouisLan
    评论
    1 评论
    马内 2021-08-01 10:41

    技术文章,学习了。80% WordPress/Typecho,都是在讲前端开发

avatar

取消