Hello and happy new year to all,
I recently upgraded a Drupal 7 site to Backdrop (version 1.26.3) following the Upgrading from Drupal guide.
The old D7 site and the final Backdrop site are in the same shared hosting environment (OVH) with Apache/PHP 8.1 and a Let's Encrypt SSL certificate.
In HTTPS, the D7 site works as expected in:
- Firefox (Windows and Linux)
- Google Chrome (Windows) and Chromium (Linux)
- MS Edge
The Backdrop site however only works in Firefox.
In Chrome and Edge, I get a blank page and the following error in the browser console:
net::ERR_HTTP2_PROTOCOL_ERROR 200 (OK)
(Note: in HTTP the Backdrop site works as expected in all browsers)
The error occurs on all pages of the site.
I tried with no success:
- Accessing the site from another location (to rule out any problem with my internet connection)
- Visiting the site in incognito mode
- Replacing my custom theme with Bartik
- Disabling contrib and custom modules
- Regenerating the SSL certificate
- Enabling/disabling aggregation of CSS and JS files
- Clearing all caches (via the UI and with
bee cc all)
- Clearing the browser cache, history and cookies (in some rare cases the pages loaded correctly just after that but the next request triggered the error again)
The Backdrop site works in Chrome when I comment out the following line in the function
backdrop_set_length_headers (file core/includes/bootstrap.inc):
Has anyone experienced this situation?
Any suggestions would be greatly appreciated.
For some reason, the site works for visitors in all browsers when I select both "Cache pages for anonymous users" and "Compress cached pages" on the Performance page.
Even with those two options enabled, I still cannot access the admin pages in Chrome and Edge though (I get the
ERR_HTTP2_PROTOCOL_ERROR just after submitting my credentials).
EDIT 2 (SOLVED):
For some reason, the issue disappeared after I changed the PHP runtime environment from PHP-FPM to PHP CGI on my shared host (OVH) and this seems to work whether pages are cached or not.