none
net::ERR_HTTP2_PROTOCOL_ERROR with jquery XMLHttpRequest on IIS 10 with HTTP2 RRS feed

  • Domanda

  • Salve,

    ho un problema con un nuovo server W2K16 che sto configurando per la pre-produzione di alcune web application .net.

    Server di Produzione e Pre-Produzione sono 'gemelli'

    Accade che per una determinata web-application c'è un comportamento strano dell'HTTP2 (Protocol Error) quando all'interno della pagina vengono eseguete delle XHR (XMLHttpRequest) POST con jquery.

    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

    ho eseguito controllo dei certificati, spazio su server, ma senza rilevare alcuna anomalia.

    Disabilitando l'HTTP2 sull'intera macchina invece il problema scompare.

    Analizzando con Wireshark, decrittando il traffico, ho scoperto che in pratica il server di Pre-Produzione esegue un RST_STREAM verso il client e probabilmente è questo che genera l'errore.

    HTTP2_Protocol_Error

    mentre invece sul server di produzione l'errore anche in http2 non viene sollevato:

    Produzione_OKForse è il Maximum Concurrent Streams che settato a 100 (penso di default) comporta questo reset.

    C'è modo di intervenire su questo o altri settaggi del modulo HTTP.sys e risolvere la problematica? C'è qualche Windows update forse che genera questo tipo di problemi?

    Grazie per l'aiuto.

    sabato 31 ottobre 2020 11:59

Tutte le risposte

  • il Maximum Concurrent Stream è settato uguale sui due server ?

    ci sono altre differenze di configurazione o di utilizzo tra i due server ?


    Edoardo Benussi
    e[dot]benussi[at]outlook[dot]it

    lunedì 2 novembre 2020 08:34
    Moderatore
  • il Maximum Concurrent Stream è settato uguale sui due server ?

    ci sono altre differenze di configurazione o di utilizzo tra i due server ?


    Edoardo Benussi
    e[dot]benussi[at]outlook[dot]it

    Ciao, non ho toccato i settaggi di default, almeno non volontariamente.

    Eseguendo un Report SSL su ssllabs, ho notato che l'unica differenze (im ambito SSL) tra i due è che su quello dove c'è il problema HTTP2 era settato il "Session resumption (caching)" a yes, ovvero ho provato a disabilitarlo 

    HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\MaximumCacheSize to 0 

    HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\ServerCacheTime to 0 

    ma non è cambiato nulla.

    Dove posso verificare il "Maximum Concurrent Stream"?


    lunedì 2 novembre 2020 08:49
  • Dove posso verificare il "Maximum Concurrent Stream"?


    sei tu che ne hai parlato.

    sei certo che non sia Maximum Concurrent Connection che è il massimo numero di connessioni concorrenti?


    Edoardo Benussi
    e[dot]benussi[at]outlook[dot]it

    martedì 10 novembre 2020 07:11
    Moderatore