net::ERR_HTTP2_PROTOCOL_ERROR with jquery XMLHttpRequest on IIS 10 with HTTP2RSS

1 reply

Last post Nov 04, 2020 02:11 AM by Brucz

  • net::ERR_HTTP2_PROTOCOL_ERROR with jquery XMLHttpRequest on IIS 10 with HTTP2

    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 NOT SelfSigned.

    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 

    Wireshark Window

    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??

  • Re: net::ERR_HTTP2_PROTOCOL_ERROR with jquery XMLHttpRequest on IIS 10 with HTTP2

    Nov 04, 2020 02:11 AM|Brucz|LINK

    Hi jangar,

    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.

    Best Regards,

    Brucz

    .NET forums are moving to a new home on Microsoft Q&A, we encourage you to go to Microsoft Q&A for .NET for posting new questions and get involved today.