WebSocket Nginx 负载均衡带SSL证书验证配置


#user  www;
worker_processes  1;

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

pid         /logs/nginx.pid;
worker_rlimit_nofile 65535;

events {
    use epoll;
    worker_connections 65535;
}

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;
    #charset gb2312;

    server_names_hash_bucket_size 128;
    client_header_buffer_size 32k;
    large_client_header_buffers 4 32k;
    client_max_body_size 8m;
     
    sendfile on;
    #tcp_nopush on;
    keepalive_timeout 600;
    tcp_nodelay on;

    #gzip on; 

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

    upstream websocket{
        server 192.168.13.118:8999 weight=1 max_fails=3 fail_timeout=30s;
        server 192.168.13.118:444 weight=1 max_fails=3 fail_timeout=30s;
    }

    upstream  websocket_ssl {
        ip_hash; #避免单个连接混连服务器
        server 192.168.13.118:8000 weight=1 max_fails=3 fail_timeout=30s;
        server 192.168.13.118:8001 weight=1 max_fails=3 fail_timeout=30s;
    }

    #不带证书验证

    server {
        listen       8046;
        server_name  localhost;
    index index.html index.htm index.php;
        root html;

        #charset koi8-r;

        access_log  logs/host.access.log  main;

        location /
    {
           proxy_pass http://websocket;
           # WebScoket Support
           proxy_http_version 1.1;
           proxy_set_header Upgrade $http_upgrade;
           proxy_set_header Connection "upgrade";
        }

        access_log off;
    }

    # HTTPS server   

    #带证书验证
    server {
        listen       8085 ssl so_keepalive=on;
        server_name  localhost;

        #证书路径
        ssl_certificate         /conf/ssl/server.crt;
        ssl_certificate_key  /conf/ssl/server.key;
        ssl_session_timeout  5m;
        location /ws {

             #设置连接时间参数
             proxy_connect_timeout 30s;
             proxy_read_timeout 1800s;
             proxy_send_timeout 120s;


             proxy_pass https://websocket_ssl;
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }

}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值