'Chrome ERR_HTTP2_PROTOCOL_ERROR + Firefox Secure Connection Failed

I'm hosting a website serves global regions, and recently there's a weird issue came up.

Already checked other posts on the Internet including the one in stackoverflow with a lot of discussions:Chrome net::ERR_HTTP2_PROTOCOL_ERROR 200 after a reconnect , but none of the answers helped.

Website is building on ASP.NET webform legacy "website" (not web application). There's a important function which performs several process once user click a button on website. Let's say there are 100 lines of code in that function, and I've added some flags to log which steps have been hit and processed.

Weird situation is:

  1. Only China users are facing the issue. (website is not hosted in China)

  2. Some users are using firefox and it returned below, in English it is "Secure Connection Failed" But checked several posts including firefox documents, there should be error code on screen like ssl_error_no_cypher_overlap but there is nothing. Firefox error

  3. Some users are using other browsers which is Chrome based, it returns: Chrome error

In additionally, I checked the process log in these user feedbacks, most of them does not finish all the code, in other words, if there are 100 lines of codes and some of them just stopped in line 50.

Website has TLS 1.2 enabled, also http2 protocol (h2) is applied when I checked via Chrome-Network tab.

I'm wondering if it is possible if client browser shut down the connection in some reasons, it will end with the result I see (stopped at the middle of entire code flow), from my opinion if a request is posted to server then no matter what client does, the process should finish entire flow.

Any ideas or thoughts will be appreciated!



Solution 1:[1]

I was just dealing with that exact situation.

From what I read in various posts on the HTTP2_PROTOCOL_ERROR, I think what happens is the response is started but code problem(s) prevent the server from completing the response. The incomplete response gives the protocol error in Chrome, and, because it's over TLS, Firefox sees it as a security error. (I'd share links, but I've already closed all those windows - sorry.)

Somehow my code was preventing the server from completing the response without causing an exception.

I was able to track down the offending code by commenting out the body of every code-behind procedure on the page and then bringing them back one at a time.

Good luck to you!

Solution 2:[2]

I can't give you a concrete example, but in my case, there was no problem on the application side.

Have you recently added settings to your in-house infrastructure engineer?

For example, have you added WAF settings? You may want to check.

FYI

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 MikeZRed
Solution 2 yukihirop