Наш программист сделал сайт на базе движка Node.JS и на его локальном компьютере все работает замечательно — и при обращениях с локалхоста и при обращениях по сети. Размещаю это творение на наш сервер и ставлю весь список модулей которые он использует. Не работает…
Разбор полетов показал, что сценарий из файла socket.io.min.js вызывает с сервера 192.168.122.252:3000/socket.io/1/?t=1379433566379 На сервере это вызывает обработчик описанный в следующем блоке кода:
io.configure(function (){
io.set('authorization', function (handshakeData, callback) {
// некоторый код по анализу
});
});
после отработки сервер выдает в консоль сообщение: " warn — handshake error", а на клиент возвращает текст «handshake error». Ситуация повторяется стабильно при тесте из браузеров на самом сервере и из его сети.
Добавил от себя в процедуру авторизации сериализацию JSON параметра handshakeData и получил на сервере результат:
Coockie: {"headers":{"host":"192.168.122.252:3000","connection":"keep-alive","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","user-agent":"Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36","accept-encoding":"gzip,deflate,sdch","accept-language":"ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4"},"address":{"address":"192.168.122.135","port":3146},"time":"Tue Sep 17 2013 19:16:16 GMT+0300 (EEST)","query":{"t":"1379433566379"},"url":"/socket.io/1/?t=1379433566379","xdomain":false,"issued":1379434576801}
А вот у разработчика на его рабочей машине в хидерах еще есть куки и потому содержимое обработчика авторизации успешно выполняется, варнинг не генерируется и веб-служба работает:
Coockie: {"headers":{"host":"localhost:3000","connection":"keep-alive","user-agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36","accept":"*/*","referer":"http://localhost:3000/","accept-encoding":"gzip,deflate,sdch","accept-language":"en-US,en;q=0.8","cookie":"auth.sid=s%3APjHB8aINSzgpvDqgPLtcwkSp.VVyPsLtWzyJKzooaePC2Yg1WaISVp5ew6x1e88jGhLY"},"address":{"address":"127.0.0.1","port":44417},"time":"Tue Sep 17 2013 19:02:40 GMT+0300 (EEST)","query":{"t":"1379433760241"},"url":"/socket.io/1/?t=1379433760241","xdomain":false,"issued":1379433760263}
Что я уже второй день упускаю? Может нужны какие-то специфические настройки для Express?