Nginx转发代理,WebSockets

时间:2018-08-25 10:03:01

标签: nginx websocket proxy

我将Nginx用作转发代理(我知道它不是为它构建的,但这是一个特定的用例),并且除了websocket之外,其他所有方法都可以使用。我尝试使用最低配置:

events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    gzip  on;

server {

    listen 80;
    error_log /var/log/frontend-error.log debug;
    access_log /var/log/frontend-access.log;
    root /var/www;
    #index index.php;

    location / {

        resolver 8.8.8.8;
        proxy_pass $scheme://$http_host$uri$is_args$args;
    }
  }
}

也尝试使用特定位置进行Websocket连接,但不起作用:

location /ws {
        proxy_pass http://192.168.9.9:6661;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
    }

每次浏览器(Chrome)给我这个错误:

与'ws:// whatever / ws'的WebSocket连接失败:通过代理服务器建立隧道失败。

有人尝试过吗?下一步是数据包跟踪...

0 个答案:

没有答案