Nginx 解决WebSocket TCP 转发问题

 

背景:   IM 即时通讯时候  , 前期我用的是IP 没什么问题,当然上线肯定要搞个域名搞搞了!  

   那么问题来了------》Nginx  我按照原先那样配置时候不行了,

 

 

连接不了。

 

解决方法:

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;
    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;


    gzip  on;
     map $http_upgrade $connection_upgrade {
        default upgrade;
        ''      close;
    }


    server {
        listen       80;
        server_name  manage.tbnb1.cn;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

    proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        location / {
        proxy_pass http://127.0.0.1:8081;
        proxy_connect_timeout 600;
        proxy_read_timeout 600;
        }
        
    }
server {
        listen       80;
        server_name  sso.tbnb1.cn;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

    proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        location / {
        proxy_pass http://127.0.0.1:8099;
        proxy_connect_timeout 600;
        proxy_read_timeout 600;
        }
        
    }
    server {
        listen       80;
        server_name  q.tbnb1.cn;


        #charset koi8-r;

        #access_log  logs/host.access.log  main;
    
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        location / {
        proxy_pass http://127.0.0.1:8089;
        proxy_connect_timeout 600;
        proxy_read_timeout 600;
        }
        
    }
    server {
        listen       80;
        server_name  message.tbnb1.cn;


        #charset koi8-r;

        #access_log  logs/host.access.log  main;
    
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        location / {
        proxy_pass http://127.0.0.1:8083;
        
        
        proxy_connect_timeout 600;
        proxy_read_timeout 600;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        }
        
    }


    }
    

 

重要位置需要配置的

    map $http_upgrade $connection_upgrade {
        default upgrade; '' close; }

 

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection "upgrade";

 

 

完美解决问题了!  什么东西都要自己去动手 ,你才能发现问题解决问题!  每天用嘴说反向代理  ,负载均衡!  然后都他妈的空谈!

 

posted @ 2017-09-10 18:32  指针怒草内存栈  阅读(21322)  评论(2编辑  收藏  举报