Javascript 为套接字io和NodeJ设置nginx

Javascript 为套接字io和NodeJ设置nginx,javascript,node.js,sockets,nginx,Javascript,Node.js,Sockets,Nginx,我有一个项目,它到目前为止不需要socket io,具有以下nginx配置 server { server_name app.web.com; root /var/www/app/releases/current/public/; index index.html index.htm; access_log /var/log/nginx/app.access.log; error_log /var/log/nginx/app.error.log;

我有一个项目,它到目前为止不需要socket io,具有以下nginx配置

server {
    server_name app.web.com;
    root /var/www/app/releases/current/public/;
    index index.html index.htm;

    access_log /var/log/nginx/app.access.log;
    error_log  /var/log/nginx/app.error.log;
    underscores_in_headers on;

    recursive_error_pages on;
    error_page 503 @maintenance;

    if (-f $document_root/system/maintenance.html) {
        return 503;
    }

    location @maintenance {
        error_page 405 = /system/maintenance.html;
        rewrite  ^(.*)$  /system/maintenance.html break;
    }

    location ~ ^/(js|css|images|media|system)/ {
        autoindex off;
        add_header Cache-Control public;
        expires 4w;
    }

    location / {
        try_files $uri $uri/index.html @proxy;
    }

    location @proxy {
        proxy_set_header Host $http_host;
        proxy_pass   http://127.0.0.1:7485;
    }
}

现在,我已经添加了一个聊天功能,它使用套接字io。如何从nginx添加启用套接字?

您应该将socket.io配置为(例如
/socketio
)。
应在何时向Nginx配置中添加以下内容:

location /socketio {
    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;
    proxy_buffering off;
    proxy_redirect off;
    proxy_pass http://127.0.0.1:4000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_set_header X-Forwarded-Proto https;
    break;
}

更改<代码>http://127.0.0.1:4000在你的应用程序中通过socket.io地址侦听。

因此,如果我的socket试图连接到ws://www.app.com/socket.io/它应该是“location/socket.io”{}