IIS 7 and Above
net::ERR_HTTP2_PROTOCOL_ERROR with jquery XMLHttpRequest on IIS 10 wi...
Last post Nov 04, 2020 02:11 AM by Brucz
Oct 30, 2020 03:34 PM|jangar|LINK
i have a website www.sampledomain.com developed into .NET Frameowkr 4, hosted on Windows Server 2016 Production with HTTP2 actived by default with UCC SSL Certificate
This website works fine with http2 and https (TLS1.2) and it integrates same jquery XMLHttpRequest POST versus same-domain ASMX that works fine in HTTP2 and HTTP1.2 (depend on Browser Vailability)
Now, i have to preparare a pre-production twin server to test security and new features. All other website copied to pre-production twin server works fine with HTTPS. There is only this web-application that has problem with XMLHttpRequest, showing the error
in Chrome COnsole
POST https://www.sampledomain.com/asmxservice.asmx/getUserLogged net::ERR_HTTP2_PROTOCOL_ERROR
send @ jquery-1.11.3.min.js:5
ajax @ jquery-1.11.3.min.js:5
getUserLogged @ login-bs.js:132
controlLogged @ login-bs.js:63
(anonymous) @ login-bs.js:33
j @ jquery-1.11.3.min.js:2
fireWith @ jquery-1.11.3.min.js:2
ready @ jquery-1.11.3.min.js:2
J @ jquery-1.11.3.min.js:2
The website has a strict-origin-when-cross-origin as Referrer Policy.
following packet exchange on wireshar
I check SSL certificate and test with another certificate and self seigned certificate, but there aren't changes, only disabling HTTP2 and using HTTP/1.1 works fine with XHR
After same research with decrypting https with wireshark, i have this behavior: RST_STREAM with Max Concurrent Stream to 100
and all works fine on a production server
there is a way to change Maximum Concurrent Streams or another similar settings to avoid Protocol Error??
Nov 04, 2020 02:11 AM|Brucz|LINK
Due to the upgrade of HTTP2, SETTINGS_MAX_CONCURRENT_STREAMS is required to be no smaller than 100.
So you can set it globally by adding DWORD registry value “Http2MaxConcurrentClientStreams” under "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP\Parameters" and restart the machine.