记录一次 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错误解决方法思路 🎨
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议。转载请注明来自 Hi I'm LouisLan!
技术文章,学习了。80% WordPress/Typecho,都是在讲前端开发