How to disable HTTP/2 on IIS 10

To disable HTTP/2 on Windows 10 HTTP.SYS, set the following registry value on the Windows 10 desktop in HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

EnableHttp2Tls REG_DWORD 0

EnableHttp2Cleartext REG_DWORD 0

The second of these is only necessary if the failure is with HTTP. The first is for HTTPS.


This is old - but I thought id share my experience. I noticed this when we converted from server 2008 to 2016, and only on our classic asp pages. I noticed that I was setting response.buffer to be true, then working with the response headers and such and finally sending response.flush.

I saw that Chrome would have this problem only on the first call, if I send the call again it works - and thats because it was falling back to http 1.1. Disabling http2 worked but thats not a good solution.

I added response.end after the response.flush and the problem went away. So take this for what it is worth - for me it seemed to be connected to not ending the response and this worked fine in http 1.1 but somehow in http2 does not.

Perhaps this can help someone else along the way.