【问题标题】:Proxy Socket.io with NGINX使用 NGINX 的代理 Socket.io
【发布时间】:2018-03-01 13:57:18
【问题描述】:

有人知道如何用 nginx 代理 socket.io 吗?

Nginx v1.13+

Socket.io v2.0.4

Nodejs v8.9.4

我当前的 nginx 服务器块。

server {
    listen 80;
    listen 443 ssl http2;
    server_name .domain-name.com;
    root "/home/vagrant/code/domain-name";

    location / {
        proxy_pass "http://localhost:6001";
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }

    ssl_certificate     /etc/nginx/ssl/domain-name.com.crt;
    ssl_certificate_key /etc/nginx/ssl/domain-name.com.key;
}

我在客户端收到 502 Bad Gateway 错误。

【问题讨论】:

    标签: node.js nginx socket.io


    【解决方案1】:

    试试这个

    # Sockets redirect
    upstream sockets {
        server 127.0.0.1:6001;
    }
    
    server {
        listen 80;
        listen 443 ssl http2;
        server_name domain-name.com;
        root /home/vagrant/code/domain-name;
    
        location / {
            proxy_pass $scheme://sockets;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
    
            proxy_buffers 8 32k;
            proxy_buffer_size 64k;
        }
    
        ssl_certificate     /etc/nginx/ssl/domain-name.com.crt;
        ssl_certificate_key /etc/nginx/ssl/domain-name.com.key;
    }
    

    【讨论】:

    • 如果您实际上添加了一个解释更改内容和原因的答案,而不仅仅是发布最终结果,那就太好了。不是很有帮助!
    猜你喜欢
    • 1970-01-01
    • 2021-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-06
    相关资源
    最近更新 更多