Fix lỗi Nginx 502 Bad Gateway : upstream sent too big header

Khi bạn gặp lỗi 502 Bad Gateway trên Nginx thì việc đầu tiên là bạn phải coi file log của Nginx trên VPS, thông thường sẽ nằm tại “/var/log/nginx/error.log” nếu bạn cài đặt Nginx theo hướng dẫn tại bài viết này. Khi bạn mở file log ra và kéo xuống dưới cùng sẽ thấy có đoạn báo lỗi tương tự như sau “…upstream sent too big header while reading response header from upstream…” .

Nguyên nhân của lỗi này là do dữ liệu trả về từ PHP-FPM cho Nginx vượt mức giới hạn, do đó bạn cần tăng giới hạn này lên bằng cách thêm 2 dòng sau vào block http {…} của file cấu hình “/etc/nginx/nginx.conf” như sau :

http {
	#...
	fastcgi_buffers 64 64k;
	fastcgi_buffer_size 64k;
	#...
}

Fastcgi Buffer là cách Nginx xử lý dữ liệu trả về từ PHP-FPM để lưu trong bộ nhớ RAM nhằm tăng tốc quá trình xử lý, giá trị của Fastcgi Buffer tuỳ thuộc vào bộ nhớ RAM VPS/Server của bạn.

Sau đó bạn lưu lại file cấu hình của Nginx và khởi động lại Nginx bằng lệnh sau trên CentOS :

service nginx restart

Leave a Comment