Nguyên nhân gây ra java.lang.IllegalStateException: Bài đăng quá lớn trong tomcat/mod_jk


8

cấu hình nào cần phải được tinh chỉnh, và nó sống ở đâu, để tăng kích thước bài đăng tối đa cho phép?

20

Apache Tomcat theo mặc định đặt giới hạn về kích thước tối đa các yêu cầu HTTP POST mà nó chấp nhận. Trong Tomcat 5, giới hạn này được đặt thành 2 MB. Khi bạn cố gắng tải lên tệp lớn hơn 2 MB, lỗi này có thể xảy ra.

Giải pháp là định cấu hình lại Tomcat để chấp nhận các yêu cầu POST lớn hơn, bằng cách tăng giới hạn hoặc bằng cách vô hiệu hóa nó. Điều này có thể được thực hiện bằng cách chỉnh sửa [TOMCAT_DIR] /conf/server.xml. Đặt tham số cấu hình Tomcat maxPostSize cho HTTPConnector thành giá trị lớn hơn (tính theo byte) để tăng giới hạn. Đặt nó thành 0 in sẽ vô hiệu hóa việc kiểm tra kích thước. Xem Tomcat Configuration Reference để biết thêm thông tin.


4

Nó sẽ dành cho người khác, tôi thấy bạn đang ghép nối Apache HTTP và Tomcat (tomcat/mod_jk), trong trường hợp này chỉnh sửa Trình kết nối Coyote/JK2 AJP 1.3 giống như cách bạn thực hiện cho trình kết nối chuẩn (Coyote HTTP) /1.1), bởi vì AJP1.3 Connector là nơi Tomcat nhận dữ liệu.

<!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 --> 
<Connector port="8009" 
      enableLookups="false" redirectPort="8443" debug="0" 
      protocol="AJP/1.3" maxPostSize="0"/> 

0

Nguyên nhân gốc rễ của IllegalStateException ngoại lệ là một servlet java đang cố gắng viết cho luồng dữ liệu đầu ra sau khi phản ứng đã được cam kết.

Cẩn thận rằng không có nội dung nào được thêm vào phản hồi sau khi yêu cầu chuyển hướng/gửi đi.