i've got this error requests.
The last sentence in german means "Firefox cant connect to the server which is located in ws://.......".
The server wouldnt be the problem i think.
Because that here is the nginx configuration, because i think there is the problem!
server {
server_name example.org;
listen 80 default_server;
root /var/www/web;
location / # for symfony2
{
try_files $uri @rewriteapp;
}
location @rewriteapp # for symfony2
{
rewrite ^(.*)$ /app.php/$1 last;
}
location ~ ^/app\.php(/|$)
{
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param HTTPS off;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ ^/socket
{
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
}
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
}
nginx version: nginx/1.4.7
app.js (thats the server!)
var express = require('express'),
io = require('socket.io').listen(server),
server = require('http').createServer(app),
bodyParser = require('body-parser');
var app = express();
server.listen(8080);
app.use(bodyParser.json());
app.post('/', function(request, response)
{
response.send('OK');
io.emit('MessageForAll', request.body);
});
io.on('connection', function (socket){});
console.log('Server running on port 8080.');
Can I see the server code?
Have you double-checked that the websocket port is not blocked by any firewall?
I think you've already read this blog post, right?
Nginx(nginx version: nginx/1.4.6) Change:-
Note: You need to change
location ~ ^/socket
tolocation ^~ /socket
Node Changes:
app.js:
index.ejs:
package.json:
Firefox Response:
Chrome Response:
FYI. I have used below version:
For Quick Start With node.js go to node.js-socket.io-express-ngnix-starter