SignalR com SSL autoassinado e auto-host

Tentei minha sorte na pesquisa, mas até agora não há alegria.

Gostaria de conectar um cliente javascript SignalR a uma ligação de serviço do Windows SignalR auto-hospedada a um certificado SSL autoassinado.

Meu aplicativo funciona muito bem em http, mas o cliente se desconecta repetidamente quando o Owin WebApplication começa a usar https.

Aqui está o que eu fiz para configurar o SignalR com SSL.

Criei um certificado auto-assinado usando o IISImportou o certificado para as Autoridades de Certificação Raiz Confiáveis ​​no mmc (não tenho certeza se isso ajudou)

Execute o comando NETSH para ligar o SSL à porta 8080

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

Código adicionado nas instâncias de HubConnection auto-hospedado para adicionar SSL exportado assim (embora isso não importe, porque é o cliente que não pode se conectar):

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

Iniciando o Owin WebApplication usando https (isso deve criar a ligação no http.sys)

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

Na documentação do SignalR 2.0, diz:

Para iniciar o servidor da web, chame WebApplication.Start (endpoint). Agora você deve conseguir navegar até endpoint / signalr / hubs em seu navegador.

Quando eu navego para o URLhttp://SOME.WHERE.COM:8080/signalr/hubs Estou recebendo com sucesso o javascript que aciona o SignalR.

Quando eu navego para o URLhttps://SOME.WHERE.COM:8080/signalr/hubs Não tenho êxito e recebo "A conexão com o servidor foi redefinida" usando FF.

Alguns pontos adicionais que eu considerei:

NETSH SHOW indica que o URL está registrado

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 indica que o certificado SSL está vinculado a 8080:

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

Qualquer ajuda é muito apreciada!

questionAnswers(1)

yourAnswerToTheQuestion