Добрый день. Сегодня обнаружил что IE10 и Опера (версию не знаю) перестали работать с сайтом.
Вот кусок кода на JS:
try {
var ws = new WebSocket(url);
ws.timeout = 20 * 1000;
// subscribe command
ws.event = {
onclose: $.Callbacks('memory unique'),
onopen: $.Callbacks('memory unique'),
onmessage: $.Callbacks('memory unique')
};
//DataView
ws.onmessage = function (e) {
ws.event.onmessage.fire(e.data);
};
ws.onopen = function () {
var ws = this;
ws.event.onopen.fire();
ws.interval = setInterval(function () {
ws.send('p'); // send ping command
}, ws.timeout);
};
ws.onclose = function () {
var ws = this;
ws.event.onclose.fire();
clearInterval(ws.interval);
};
ws.add = function (event, callback) {
try {
this.event[event].add(callback);
} catch (e) {
console.log("ws error:", e);
}
};
return ws;
} catch (e) {
alert("WebSocket error:" + e.message);
}
выпадает с ошибкой WebSocket error: SyntaxError.
Конфигурация:
server {
listen 80 default_server;
root /home/public/static;
#ssl off;
#ssl_verify_client off;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
log_not_found off;
access_log off;
}
location / {
keepalive_timeout 0;
proxy_ignore_client_abort on;
proxy_intercept_errors on;
proxy_buffering off;
proxy_pass http://127.0.0.1:9090;
proxy_http_version 1.1;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
}
Почему грешу на nginx, если обратиться на прямую на 9090 порт все работает нормально.
К сожалению сайт в разработке, и IE10 и Опера не профильные браузеры по этому проверялись не часто, из за этого сказать в какой версии nginx появился косяк немого сейчас nginx version: nginx/1.6.2 (Ubuntu)