Попытка открыть соединение WebSocket из браузера с сервером, работающим на localhost: 9000, вот мой код JS:
$( document ).ready(function() {
var url = "ws://localhost:9000/myapp";
var connection = new WebSocket(url);
connection.onopen = function() {
console.log('WebSocket Open');
};
connection.onerror = function(error) {
console.log('WebSocket Error ', error);
};
connection.onmessage = function(event) {
console.log('WebSocket Msg ', event);
}
});
Но браузер отказывается принимать соединение из-за политики безопасности содержимого:
Политика безопасности содержимого: настройки страницы заблокировали загрузку ресурса по адресу ws: // localhost: 9000 / myapp ("default-src http://localhost:9000 ").
Я думал, что открытие соединения websocket с «self» в этом случае «localhost» будет приемлемым, но и Chrome, и FF запрещают соединение. Я думал разместить
<meta http-equiv="Content-Security-Policy" content="default-src http: ws: connect-src ws:">
но это не устранило проблему.
Это заголовки, возвращаемые сервером:
HTTP/1.1 200 OK Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin X-Frame-Options: DENY X-XSS-Protection: 1; mode=block X-Content-Type-Options: nosniff Content-Security-Policy: default-src 'self' X-Permitted-Cross-Domain-Policies: master-only Date: Sat, 24 Jun 2017 03:39:10 GMT Content-Type: text/html; charset=utf-8 Content-Length: 2130
Что могло быть причиной отказа в подключении?