2015-07-30 3 views
10

Beim Testen unter Windows 10 gab es viele Browser-Inkompatibilitäten, die ich bei früheren Windows-Versionen noch nie gesehen hatte. Einige Browser würden funktionieren, andere hingegen melden ERR_SPDY_PROTOCOL_ERROR. Meine schnelle Suche nach diesem Problem zeigte, dass ich nicht alleine war.HTTP/2/SPDY in HTTP.SYS und IIS in Windows 10 deaktivieren

Meine App verwendet WWSAPI und HTTP.SYS mit HTTPS (TLS). Kann jemand SPDY/HTTP/2 in WWSAPI (die HTTP.SYS verwendet) unter Windows 10 deaktivieren?

Ich würde auch gerne eine vollständige aktuelle Windows 10 Liste der Registrierungseinstellungen für HTTP.SYS erhalten.

Siehe unten für meine Antwort zu diesem Thema. Hoffe, das hilft auch anderen.

Mark

+2

Dies ist eine Q & A-Site. Wenn Sie also etwas haben, das für StackOverflow ein Thema ist und noch nicht beantwortet wurde, stellen Sie eine Frage, in der Sie das Problem formuliert haben, das Sie ursprünglich hatten, und schreiben Sie dann eine Antwort auf diese Frage, in der Sie die Lösung beschreiben. – Michael

+0

Abgesehen davon, dass ich nur HTTP/2 deaktiviere, würde ich gerne verstehen, warum Ihre WWSAPI ERR_SPDY_PROTOCOL_ERROR in (vermutlich) Chrome generiert. Haben Sie ein WWSAPI-Beispiel, das das anzeigt? –

+0

Das ist ein Chromiumfehler. Wir sehen es derzeit in Opera, Chrome und Vivaldi. In unserem Fall, weil ich denke, dass jemand ein Signal sendet, stellen wir http2 bereit, wenn wir nicht sind. –

Antwort

18

EDIT: Deaktivieren von HTTP/2 wird die Geschwindigkeit Ihrer Website erheblich verlangsamen, ist dies nicht eine dauerhafte Lösung ist. Das Problem wurde dadurch verursacht, dass unsere Webanwendung einen falschen Authentifizierungs-Header an den Server gesendet hat.

Um HTTP/2 weiterhin zu deaktivieren, siehe unten.

(OP gab eine hilfreiche Antwort, aber in der Frage, zog ich die Antwort.):

Ich habe Arbeit rund um meine HTTP/2 Problem von Microsoft Windows 10 HTTP.SYS in der Registrierung Konfiguration zu deaktivieren HTTP/2. Da ich nirgendwo eine Information gefunden habe, dachte ich, ich würde meine Lösung für dieses Problem auch hier teilen. I möchte jedoch einen Weg finden, dies durch WWSAPI zu tun.

Wenn ich SPDY Unterstützung im Client-Browser ausgeschaltet, es würde funktionieren, aber Ich wollte dies auf der Serverseite deaktivieren (HTTP.SYS unter Windows 10) , so dass es nicht HTTP/2 aushandeln würde aber würde das ältere mehr kompatible HTTP (S) verwenden.

zwei neue Registrierungseinstellungen Entdeckt für HTTP.SYS in:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

  • EnableHttp2TlsREG_DWORD0
  • EnableHttp2CleartextREG_DWORD0

diese Werte hinzufügen und beide auf 0 setzen in Windows 10 Ergebnis HTTP/2/SPDY wurde nicht ausgehandelt und meine ERR_SPDY_PROTOCOL_ERROR Probleme gingen weg, ohne dass die Browserkonfiguration geändert werden musste. Ich schlage nicht vor, dass irgendetwas mit Windows 10 HTTP/2 falsch ist, die Probleme können mit bestimmten Browsern sein.

Dies funktioniert möglicherweise auch für IIS, aber ich verwende das nicht, also habe ich es nicht versucht und in jedem Fall gibt es möglicherweise eine bessere Möglichkeit, dies in IIS zu tun.

Hoffe das hilft anderen auch.

kann ich bestätigen dies auch für IIS hilft, aber ich musste meinen Computer neu starten.

+0

Nach dem Festlegen der Registrierungswerte und dem Neustart meines Computers habe ich festgestellt, dass die Ursache für mein SPDY-Problem ein Verbindungsreset vom Server war. –

+0

Das hat bei mir funktioniert! Vielen Dank! – sshirley

+0

Obwohl ich jetzt frage mich, Was ist, wenn wir SPDY aber nicht HTTP/2 ausschalten wollen? – sshirley

Verwandte Themen