nginx配置wss

upstream的三种策略
   ip_hash:通过ip来计算hash值,根据hash值将分配到不同的机器中,同一个hash值会一直落在一台机器上(也就是同一个ip)。
   weight:通过设置权重值指定集群中不同机器的权重,权重越高,落到该机器的请求次数越多。
轮询:将请求均匀的分配到集群中的每一台机器上。
ip_hash是优先级最高,当配置了ip_hash,其他两种配置就会失效,只会根据ip_hash策略。配置了weight也是同样,轮询会失效。

---------------------------------------upstream使用---------------------------------------------------------------------
upstream配置语法
upstream <名称> {
    [ip_hash策略];
    server <服务信息> [权重信息];
    server <服务信息> [权重信息];
}
名称:必填,为当前负载均衡的策略定义一个名称,这个名称是自定义的,保证唯一性。
ip_hash策略:选填,用于指定使用ip_hash。
服务信息:必填,集群中提供服务的虚拟机地址,如:168.192.0.1:8080。
权重信息:选填,需要用weight指定每台虚拟机的权重信息。

-----------------------------------------------ip_hash示例-----------------------------------------------------------

upstream demo {
        ip_hash;
        server 192.168.0.1:8080;
        server 192.168.0.2:9090;
}
server {
    listen 80;
    server_name test.xxx.com;
     location / {
        proxy_pass http://demo/;
     }
}

当请求test.xxx.com时,会匹配进入到location,proxy_pass指定了upstream,此时就会根据ip_hash,对当前的请求IP做hash计算,得到最终会落到那台机器上。以后同一个ip请求,都会落到这个机器上。在某些项目中,可以考虑用这种方式来解决session共享的问题

----------------------------------------weight示例-----------------------------------------------

upstream demo {

        server 192.168.0.1:8080 weight 2;

        server 192.168.0.2:9090 weight 1;

}

server { # …… 同上面的示例 }

请求test.xxx.com时,会两次落在192.168.0.1:8080机器上,一次落在192.168.0.2:9090上。

----------------------------------------------轮询示例-------------------------------------------------------

upstream demo {

        server 192.168.0.1:8080;

        server 192.168.0.2:9090;

}

请求会均匀的落在两台机器上。

-----------------------------------------自己的配置------------------------------------------------------

ocpp_lpxt  唯一标识 在nginx所有配置文件中不能重复

steve.sheway.com  域名

upstream ocpp_lpxt {
    ip_hash;
    server 127.0.0.1:8043;
}
server {
        listen       80;
        server_name  steve.sheway.com;
        rewrite ^(.*)$ https://$host$1 permanent;
}
server {
  # listen 443 ssl;
  # 有了 https 可以尝试开启 http2,加速你的网站 
  # http2 需要你 nginx 加载了 http2 模块,用如下配置开启。
  listen 443 ssl http2;
  server_name  steve.sheway.com;
  include /etc/nginx/conf.d/nginx.header;

  location / {
    proxy_pass http://ocpp_lpxt;
    proxy_connect_timeout 600;
    proxy_read_timeout 600;
    proxy_set_header Host $host:$server_port;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }

  error_page 400 403 404  /40x.html;
  location = /40x.html {
        # 放错误页面的目录路径。
        return 301 /404.html;
    }
 
}

你可能感兴趣的:(nginx,nginx)