nginx upstream作为变量

upstream wdzjbbs_varnish{
session_sticky;
server 10.174.35.11 weight=1 max_fails=2 fail_timeout=30s;
}

upstream wdzjbbs{
session_sticky;
server 10.174.39.137 weight=1 max_fails=2 fail_timeout=30s;
}

server {

...

set $upstream_x "wdzjbbs_varnish";
if ( $http_cookie ~* "auth_token"){
  set $upstream_x  "wdzjbbs";
  }
if ( $request_uri ~* "search"){
  set $upstream_x "wdzjbbs";

  }

...

location / {
proxy_pass http://$upstream_x;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

注意:通过以上对upsteram变量进行判断设置,这样做,可以通过cookie来判断有无后跳转到后台哪台服务器上

时间: 2024-10-08 17:28:27

nginx upstream作为变量的相关文章

Nginx Upstream Keepalive 分析 保持长连接

相关配置 Nginx Upstream长连接由upstream模式下的keepalive指令控制,并指定可用于长连接的连接数,配置样例如下: upstream http_backend {     server 127.0.0.1:8080;       keepalive 16; }   server {     ...       location /http/ {         proxy_pass http://http_backend;         proxy_http_vers

Nginx - upstream 模块及参数测试

目录 - 1. 前言- 2. 配置示例及指令说明    - 2.1 配置示例    - 2.2 指令    - 2.3 upstream相关变量- 3. 参数配置及测试    - 3.1 max_fails 和 fail_timeout    - 3.2 proxy_next_upstream    - 3.3 nginx 与后端web连接时间的三个参数 1. 前言 当 Nginx 作为反向代理使用的时候,upstream模块有着举足轻重的地位,官方解释: 2. 配置示例及指令说明 2.1 配置

Nginx内置变量以及日志格式变量参数详解

Nginx内置变量以及日志格式变量参数详解 $args #请求中的参数值 $query_string #同 $args $arg_NAME #GET请求中NAME的值 $is_args #如果请求中有参数,值为"?",否则为空字符串 $uri #请求中的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index指令进行修改,$uri不包含主机名,如"/foo/bar.html". $d

nginx upstream轮询配置

nginx upstream nginx的upstream官方地址为:http://nginx.org/cn/docs/http/ngx_http_upstream_module.html 轮询分为多种,分为普通轮询(一个接一个的进行访问,即按加权轮转的方式将请求分发到各服务器),ip_hash轮询,url_hash轮询,以及fair轮询等方法. nginx upstream轮询配置. upstream在http中,与server同等级别 upstream 域名 { server IP地址: }

nginx内置变量

今天在整理nginx的rewrite规则,发现遇到许多关于nginx内置变量的判断,所以此处将nginx的内置变量温习一遍······ nginx支持的所有内置变量: $arg_name 请求中的的参数名,即"?"后面的arg_name=arg_value形式的arg_name $args 请求中的参数值 $binary_remote_addr 客户端地址的二进制形式, 固定长度为4个字节 $body_bytes_sent 传输给客户端的字节数,响应头不计算在内:这个变量和Apache

nginx upstream模块

参考文档 nginx  upstream模块 http://www.nginx.cn/doc/standard/httpupstream.html #upstream模块: 用于负载均衡 ,反向代理 (proxy fastcgi uwsgi scgi memcached) #语法:  upstream name { ... } upstream static_server { server  A*:80 max_fails=2 fail_timeout=5s; serve    B*:80 ma

nginx内置变量 大全

nginx内置变量 内置变量存放在  ngx_http_core_module 模块中,变量的命名方式和apache 服务器变量是一致的.总而言之,这些变量代表着客户端请求头的内容,例如$http_user_agent, $http_cookie, 等等.下面是nginx支持的所有内置变量: $arg_name请求中的的参数名,即"?"后面的arg_name=arg_value形式的arg_name $args请求中的参数值 $binary_remote_addr客户端地址的二进制形式

nginx upstream使用及源码解析

nginx upstream机制使得nginx可以成为一个反向代理服务器,nginx一方面从下游客户端接收http请求,处理请求,并根据请求发送tcp报文到上游服务器,根据上游服务器的返回报文,来向下游客户端发送请求响应报文. upstream机制也提供了负载分担的功能,可以将请求负载分担到集群服务器的某个服务器上面. 2.1upstream的流程介绍 1分析客户端请求报文,构建发往上游服务器的请求报文. 2调用ngx_http_upstream_init开始与上游服务器建立tcp连接. 3发送

使用Nginx Upstream 部署 OpenERP

来自:http://my.oschina.net/wangbuke/blog/67450   Openerp 6.1 使用werkzeug 作为web服务的框架,性能比之前的cherrypy 有了很大的改善.但无论是 werkzeug 还是cherrypy ,都不是专门的web服务器.通常的做法是在openerp 之前加一个 Nginx.Apache或其他服务器.下面介绍使用Nginx Upstream 部署openerp 的方法. 一 前提 此处假设您已经安装好 openerp ,并运行在 1