it-swarm.com.de

websocket - Fehler beim Verbindungsaufbau: net :: ERR_INSECURE_RESPONSE

Verbindung zum Websocket-Server kann nicht hergestellt werden.

Ich benutze genau dasselbe private.key und public.crt, das ich mit nginx verwende. 

Das Zertifikat ist selbstsigniert, funktioniert aber mit dem Rest der Website über HTTPS über Nginx

Der Websocket-Server arbeitet bei Verwendung von ws://, wenn die Zeile mit http.ListenAndServe() nicht kommentiert ist

package main

import (
    "flag"
    "fmt"
    "log"
    "net/http"
)

const PORT uint = 8000

func main(){
    Host := parse_flags()

    hub := newHub()
    go hub.run()

    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        serve(hub, w, r)
    })

    server_Host := fmt.Sprintf("%s:%d", Host, PORT)

    log.Println("Server listening on:", server_Host)

    err := http.ListenAndServeTLS(server_Host, fmt.Sprintf("/var/ini/ssl/%s/public.crt", Host), fmt.Sprintf("/var/ini/ssl/%s/private.key", Host), nil)
    //err := http.ListenAndServe(server_Host, nil)
    if err != nil {
        log.Fatal("ListenAndServe:", err)
    }
}
15
clarkk

Es sieht so aus, als würde die neueste Version von Chrome SHA-1-Zertifikate als unsicher ablehnen. Sie müssen wahrscheinlich zu den SHA-2-Zertifikaten wechseln. 

6
teriyaki

Ich hatte den gleichen Fehler, aber ich kenne Ihre URLs nicht.

Ich verwendete https://localhost:port für HTTPS und wss://127.0.0.1:port für WS . Daher musste ich das cert für https://localhost und https://127.0.0.1 (nur in Chrome) akzeptieren.

6
Appyx

Ich hatte Probleme mit diesem Thema und vielen anderen, bis mir klar wurde, dass ich am falschen Ort nach meinen Schlüsseldateien gesucht habe.

Zunächst müssen das cert und der Schlüssel beide .PEM-Dateien sein. Ich benutze Let's Encrypt, daher war es ein bisschen einfacher für mich, den richtigen Ort zu finden (was/etc/letsencrypt/live/domainName war).

Wenn Sie ein SSL-Zertifikat wie ich mit einem Assistenten installiert haben, müssen Sie den Zertifikatsanbieter etwas recherchieren. Suchen Sie einfach nach, wo Ihre Schlüssel von ihnen installiert werden, und finden Sie die .PEM-Dateien, die für "cert" und "key" geeignet erscheinen.

0
newplayer65