为了账号安全,请及时绑定邮箱和手机立即绑定

Nginx作为网络服务器 socket.io和node.js / ws:// 400错误的请求

Nginx作为网络服务器 socket.io和node.js / ws:// 400错误的请求

慕雪6442864 2019-10-22 21:05:57
我有这个错误要求。德语的最后一句意思是“ Firefox无法连接到位于ws:// .......的服务器”。服务器不会是我认为的问题。因为这是nginx配置,因为我认为存在问题!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版本:nginx / 1.4.7app.js(即服务器!)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.');
查看完整描述

3 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

是否可以像我上面所说的那样尝试在本地服务器上设置新实例,或者将位置^〜/ socket放在ngnix配置中的位置上方/下方或位置下方的顶部。我确定它的发生仅是由于ngnix配置。我尝试使用除symfony2设置以外的相同目录。我也在用package.json更新答案。请检查一下。

查看完整回答
反对 回复 2019-10-22
  • 3 回答
  • 0 关注
  • 991 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信