iserver集群执行login

一、架构:

使用的架构是nginx+SLB(负载均衡)+2个iserver(ip分别为192.168.0.1和192.168.0.1)

二、起因

请求iserver数据时,iserver默认会发送login请求(一个get和post的login请求),只有登录成功iserver才可以返回数据。又因为SLB轮询,所以两次login请求可能执行的服务器不同,导致登录失败无法获取数据。

三、解决

拦截请求,将所有登录请求指定固定的服务器处理,详细配置如下

    location ~*/realspace/login {
		charset utf-8;
		add_header Cache-Control no-store;
		proxy_cache off;           
	    proxy_pass  http://192.168.0.1:8090;#指定ip为1的服务器处理登录
	    rewrite ^/gisServer/(.*)$ /$1 break;	
	}
        
               
	location ^~/gisServer{
		charset utf-8;
		add_header Cache-Control no-store;
		# 请求为OPTIONS预检时,直接返回
		if ($request_method = OPTIONS ) {
			  return 204;
		}
        #此处是将进入请求的路径中包含字符串"/realspace/login"交给固定server处理        
        set $URL  $scheme://$http_host$request_uri;
        if ($URL ~ "/realspace/login") {
          proxy_pass  http://192.168.0.1:8090; #指定ip为1的服务器处理登录
          rewrite ^/gisServer/(.*)$ /$1 break;
        }
		proxy_cache off;
		proxy_pass  http://192.168.0.3:8090;#这个是SLB地址,也可以配置nginx的upstream
		rewrite ^/gisServer/(.*)$ /$1 break;
		client_max_body_size       100M;
	}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值