Nicht erfasste SecurityError: Fehler beim Konstrukt 'WebSocket': unsichere WebSocket-Verbindung kann nicht eingeleitet werden, von einer Seite, die über HTTPS geladen

Bin ich mit dem GlassFish-Server 4.1/Java-EE-7. In meinem web.xml Datei, ich habe bereits die folgenden Einschränkungen.

<security-constraint>
    <display-name>UserConstraint</display-name>
    <web-resource-collection>
        <web-resource-name>Provide a Name</web-resource-name>
        <description/>
        <url-pattern>/admin_side/*</url-pattern>
        <http-method>GET</http-method>
        <http-method>POST</http-method>
    </web-resource-collection>
    <auth-constraint>
        <description/>
        <role-name>ROLE_ADMIN</role-name>
    </auth-constraint>
    <user-data-constraint>
        <description/>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

Und das gleiche gilt für andere Behörden.

Seit transport-guarantee eingestellt ist CONFIDENTIAL, web-Seiten, die mit dem angegebenen URL-Muster /admin_side/* laufen über einen sicheren Kanal (HTTPS).

Während der Verwendung von WebSockets ist wie folgt (JavaScript),

var ws = new WebSocket("ws://localhost:8181/Context/Push");

es nicht schaffen einen ersten handshake. Der browser zeigt die folgende Warnung auf die browser-Konsole.

[blocked] The page at 'https://localhost:8181/Context/admin_side/Category' was loaded over HTTPS, but ran insecure content from 'ws://localhost:8080/Context/Push': this content should also be loaded over HTTPS.

Uncaught SecurityError: Failed to construct 'WebSocket': An insecure WebSocket connection may not be initiated from a page loaded over HTTPS.

Wenn die <user-data-constraint> Abschnitt aus web.xml entfernt wird in seiner vollständig web-Seiten laufen auf HTTP. Danach ändern,

var ws = new WebSocket("ws://localhost:8181/Context/Push");

zu

var ws = new WebSocket("ws://localhost:8080/Context/Push");

funktioniert einwandfrei.

Was getan werden könnte, um WebSockets arbeiten über einen sicheren Kanal?

Yep! Es arbeitete. Ich sah nie wss:// vor. Vielleicht fügen Sie ihn bitte als Antwort. Danke.
Danke! Ich fügte hinzu, auch einige zusätzliche Informationen, die für zukünftige Referenz.

InformationsquelleAutor Tiny | 2015-02-20

Schreibe einen Kommentar