发表文章内容过大,导致Nginx报403异常故障处理

发表文章内容过大,导致Nginx报403异常

clickhouse中国社区反馈,超长文章无法发表,一点提交,就会报nginx 403 异常(图见后文)

跟日志,发现请求并没有转发到应用程序层面,而是在nginx转发层面就报出了异常

分析原因,应该是文章内容过大,超出nginx默认的缓存大小

当遇到超长的post请求或者get请求时,nginx会返回413、403、414等状态码,这是因为请求串长度超过了nginx默认的缓存大小或者请求串大小

所以修改nginx配置,增加

  • 上请求body最大容量限制:client_max_body_size 30M;
  • 请求body最大缓存大小:client_body_buffer_size 30M;

重载nginx,问题修复

bug截图和配置见后文:


1
2
3
4
5
6
7
8
9
10
11
12
13
server {
listen 80;
server_name www.clickhouse.com.cn clickhouse.com.cn;
location / {
client_max_body_size 30M;
client_body_buffer_size 30M;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:3000;
}
error_page 500 502 503 504 /50x.html;
}
坚持原创技术分享,您的支持将鼓励我继续创作!
分享