บรรทัดคำขอ nginx ใหญ่เกินไป


12

ฉันได้รับข้อผิดพลาด:

Bad Request
Request Line is too large (6060 > 4094)

เมื่อฉันเข้าถึง URL เฉพาะบนเซิร์ฟเวอร์ของฉันเช่นนี้:

/api/categorize?packages=package1,package2,...packageN

ใน nginx.conf ฉันมี:

large_client_header_buffers 8 16k;

client_header_buffer_size 8k;

ฉันไม่พบเอกสารเกี่ยวกับปัญหาเฉพาะนั้น docs สำหรับ large_client_header_buffers พูดถึง 400 คำขอไม่ถูกต้อง แต่เปลี่ยน "large_client_header_buffers" จาก 4 8k; หรือ 8 8k; หรือ 8 16; ไม่ได้แก้ไขปัญหา


1
คุณใช้ nginx เท่านั้นหรือเป็นส่วนหน้าของ gunicorn หรือไม่? เนื่องจากดูเหมือนว่าข้อผิดพลาดนี้มาจาก gunicorn: sourcegraph.com/github.com/benoitc/gunicorn/symbols/python/…
เล่นซ้ำ

@ mauro.stettler มันเป็นส่วนหน้าของ gunicorn ฉันจะเพิ่มความยาว URL ของ gunicorn ได้อย่างไร
Rafael Barros

คำตอบ:


16

ข้อผิดพลาดนี้ดูเหมือนว่ามาจากแบ็กเอนด์ของ Gunicorn ไม่ใช่จาก Nginx คุณสามารถเปลี่ยนมันขีด จำกัด โดยการส่งผ่านพารามิเตอร์หรือชุด--limit-request-linelimit_request_line

ท่านสามารถเข้าดูรายละเอียดที่นี่


3
นี่คือสิ่งที่ฉันต้องการ
PepperoniPizza
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.