Request Entity Too Large/TK-397746
When opening up a specific Work Item from the Designer Studio, an error message appears.
A Load Balancer is used to access PRPC.
If user connect directly to the PRPC Application Tomcat Server (missing out the Load Balancer) and open the same Work Item; user does not experience this error but the Work Item is still not loaded.
This error is seen on the browser if connecting via an Apache HTTP Load Balancer:
Request Entity Too Large The requested resource /prweb/inIzRt_-iufAIdiyR6uq16q04HORVe3_v*/!TABTHREAD10 does not allow request data with GET requests, or the amount of data provided in the request exceeds the capacity limit.
Additionally, a 404 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
This error is seen in the Tomcat Logs when connecting directly, that is, missing out the Load Balancer to the Tomcat Server:
xx.xx.xx.xx 400 Bad Request The request could not be understood by the server due to malformed syntax. The client SHOULD NOT repeat the request without modifications.
Steps to Reproduce
This only applied to a single particular Work Item: attempting to open it up in the Designer Studio.
A defect or configuration issue in the operating environment.
The 'refer' HTTP header contains a copy of the previous URL visited.
In the case where the last visited URL was over a certain length ; the 'refer' HTTP header was exceeding the default 8K limit. (It turns out the ~8k Limit is the default for both Tomcat and Apache HTTP Server).
Perform the following local-change:
The default max HTTP Header size for Tomcat can be increased by adding in the setting 'maxHTTPHeaderSize' for each 'Connector' defined in the 'server.xml' file:
<Connector port="9999" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxHttpHeaderSize="9000" />
(in this example user set the value to ~9k: as the size of the headers [using fiddler] was ~8.5K)
To make the equivalent change to an Apache HTTP Server ; add the setting 'LimitRequestFieldSize' to the 'httpd.conf' file.
Check both the Tomcat and Apache HTTP Server documentation to confirm the settings are valid for your specific versions.
If user is using an App Server other than Tomcat or a Load Balancer other than Apache HTTP; check the relevant documentation for equivalent settings.
Use Fiddler or a similar HTTP tracing tool to ascertain whether the 'refer' HTTP Header is larger than the default for user configuration.