websocket "Connection refused" IE10 SyntaxError

alnkapa@gmail.com nginx-forum на nginx.us
Пн Сен 7 08:40:38 UTC 2015


Добрый день. Сегодня обнаружил что 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)

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261467,261467#msg-261467



Подробная информация о списке рассылки nginx-ru