On a fresh EE7 install, the CP may become unresponsive when you click on some UI elements (e.g. toggles, tabs). Using the browser development tools, I noticed that javascript resources served by the admin.php file do not load: you may see errors like “status: failed” or “net::ERR_HTTP2_PROTOCOL_ERROR 200”. If I replay the request with curl, I get the message:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
25 556k 25 144k 0 0 18889 0 0:00:30 0:00:07 0:00:23 8084
curl: (92) HTTP/2 stream 0 was not closed cleanly: INTERNAL_ERROR (err 2)
The issue is that the Content-Length of the resource is computed before it is compressed, what is received is smaller than what is expected: from the client standpoint, the server closes the stream prematurely, hence the error.
I worked around this issue by adding the following line at the end of the .htaccess file that is located in the same folder as the admin.php file:
SetEnvIfNoCase REQUEST_URI ^/admin\.php no-gzip dont-vary
This disables compression for content served by admin.php.
After that, I no longer have the issue.
Thanks for reporting this. To my knowledge, we haven’t had any other reports of this, so it’s good to know if it comes up again. Regarding the gzip, just for our knowledge did you already have gzip disabled for your site? https://docs.expressionengine.com/latest/control-panel/settings/debug-output.html#enable-gzip-compression. I just want to make sure that you didn’t already have gzip disabled and still had this issue.
thanks
I think the issue is likely to happen with servers accepting to use h2 instead of http/1.1.
Gzip was disabled when I reported my issue, but I ran a test with Gzip enabled and the issue is still there. By the way, I thought the Enable Gzip compression feature applied to the website only (I mean, what the public sees), does it also apply to the control panel?
Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.