Hi there,
I spent a little time looking into this one, very strange behaviour.
What I’ve noticed is that if I run the site through curl, I see the HTTP request/resposne headers, but I see this error at the end HTTP/2 stream 1 was not closed cleanly: INTERNAL_ERROR (err 2)
> Host: catalog.sqcc.org
> User-Agent: curl/8.6.0
> Accept: */*
>
< HTTP/2 200
< date: Fri, 28 Jun 2024 13:45:56 GMT
< content-type: text/html
< cache-control: no-cache
< pragma: no-cache
< x-frame-options: SAMEORIGIN
< x-transcend-version: 1
< strict-transport-security: max-age=31536000; includeSubDomains
< x-content-type-options: nosniff
< x-xss-protection: 1; mode=block
< cf-cache-status: DYNAMIC
< report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=M7be3iL4fRy%2BEASMzZvT1JPt4X1mRfRuLWnaOB5sq2a%2BN%2FnbEzGtlmPgQMSC49gR2Lo%2BpjKze19q7x82htEBG5dsRQV2TLeXVazFDoaD4eyfGqNDWVtcd%2F9EDJ3luYrCxDB7"}],"group":"cf-nel","max_age":604800}
< nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
< server: cloudflare
< cf-ray: 89ae1ebf19e5ac64-YYZ
< alt-svc: h3=":443"; ma=86400
* HTTP/2 stream 1 was not closed cleanly: INTERNAL_ERROR (err 2)
To be sure, it wasnt something local on my machine running through webpagetest.org - catalog.sqcc.org :...ulles, Virginia USA - WebPageTest Result
I see that I can see the request/response headers, but it looks like times out with this error:
(Test Error: Page Load Timeout)
(Error: Timed Out)
So it is not isolated to a specific client/region.
What I would recommend is testing to your origin server, what you can is update your local host file and bypass Cloudflare and try to load the site, by doing this you are taking Cloudflare out of the equation and making sure the origin server (KOHA Library) is working ok - here are instructions to do that- https://www.howtogeek.com/27350/beginner-geek-how-to-edit-your-hosts-file/
If your still seeing strange behaviour when bypassing Cloudflare, then this is an indication it is not Cloudflare and you would need to reach out to their support team with this evidence.
My suspicion is this is related to how the origin is returning reponses for HTTP2 verses HTTP/1.1 protocols.
You could look at trying to alter your settings under the Speed > Optimization > Protocol Optimization tab on Cloudflare with HTTP/2 settings, but my advice is to test first to the origin and see how it’s behaving.
Hope this helps!