SignalR mit selbstsigniertem SSL und Selbsthost

Versuchte mein Glück bei der Recherche, aber bisher keine Freude.

Ich möchte einen SignalR-Javascript-Client mit einem selbst gehosteten SignalR-Windows-Dienst verbinden, der an ein selbstsigniertes SSL-Zertifikat gebunden ist.

Meine Anwendung funktioniert ziemlich gut über http, aber der Client trennt sich wiederholt, wenn die Owin WebApplication mit der Verwendung von https beginnt.

Folgendes habe ich getan, um SignalR mit SSL zu konfigurieren.

Erstellt ein selbstsigniertes Zertifikat mit IISImportierte das Zertifikat in die vertrauenswürdigen Stammzertifizierungsstellen in der MMC (nicht sicher, ob dies geholfen hat)

Führen Sie den Befehl NETSH aus, um SSL an Port 8080 zu binden

netsh http add sslcert ipport=0.0.0.0:8080 certhash=123456f6790a35f4b017b55d09e28f7ebe001bd appid={12345678-db90-4b66-8b01-88f7af2e36bf}

Code in selbst gehosteten HubConnection-Instanzen hinzugefügt, um exportiertes SSL wie folgt hinzuzufügen (dies sollte jedoch keine Rolle spielen, da der Client keine Verbindung herstellen kann):

if (File.Exists("MyCert.cer") 
    && Settings.GetSetting(Settings.Setting.SrProtocol).Equals("https", StringComparison.InvariantCultureIgnoreCase))
        connection.AddClientCertificate(X509Certificate.CreateFromCertFile("MyCert.cer"));

Starten von Owin WebApplication mit https (dies sollte die Bindung in http.sys erstellen)

string registerUrl = string.Format("{0}://SOME.WHERE.COM:{1}", Service.Server.SrProtocol, Service.Server.SrPort);
WebApp.Start<StartUp>(registerUrl);

In der SignalR 2.0-Dokumentation heißt es:

Rufen Sie zum Starten des Webservers WebApplication.Start (Endpunkt) auf. Sie sollten nun in der Lage sein, in Ihrem Browser zu Endpoint / Signalr / Hubs zu navigieren.

Wenn ich zur URL navigierehttp://SOME.WHERE.COM:8080/signalr/hubs&nbsp;Ich erhalte erfolgreich das Javascript, das SignalR antreibt.

Wenn ich zur URL navigierehttps://SOME.WHERE.COM:8080/signalr/hubs&nbsp;Ich bin erfolglos und erhalte die Meldung "Die Verbindung zum Server wurde zurückgesetzt" mit FF.

Einige zusätzliche Punkte, die ich in Betracht gezogen habe:

NETSH SHOW zeigt an, dass die URL registriert ist

URL group ID: E300000240000022
State: Active
Request queue name: Request queue is unnamed.
Properties:
    Max bandwidth: inherited
    Max connections: inherited
    Timeouts:
        Timeout values inherited
    Number of registered URLs: 1
    Registered URLs: HTTPS://SOME.WHERE.COM:8080/

NETSH SHOW gibt an, dass das SSL-Zertifikat an 8080 gebunden ist:

IP:port                 : 0.0.0.0:8080 
Certificate Hash        : 123456f6790a35f4b017b55d09e28f7ebe001bd
Application ID          : {12345678-db90-4b66-8b01-88f7af2e36bf} 
Certificate Store Name  : (null) 
Verify Client Certificate Revocation    : Enabled
Verify Revocation Using Cached Client Certificate Only    : Disabled
Usage Check    : Enabled
Revocation Freshness Time : 0 
URL Retrieval Timeout   : 0 
Ctl Identifier          : (null) 
Ctl Store Name          : (null) 
DS Mapper Usage    : Disabled
Negotiate Client Certificate    : Disabled

Jede Hilfe wird sehr geschätzt!