linux sticky,session_sticky命令
ngx_http_upstream_session_sticky_module
该模块是一个负载均衡模块,通过cookie实现客户端与后端服务器的会话保持, 在一定条件下可以保证同一个客户端访问的都是同一个后端服务器。
Example 1
# 默认配置:cookie=route mode=insert fallback=on
upstream foo {
server 192.168.0.1;
server 192.168.0.2;
session_sticky;
}
server {
location / {
proxy_pass http://foo;
}
}
Example 2
#insert + indirect模式:
upstream test {
session_sticky cookie=uid domain=www.xxx.com fallback=on path=/ mode=insert option=indirect;
server 127.0.0.1:8080;
}
server {
location / {
#在insert + indirect模式或者prefix模式下需要配置session_sticky_hide_cookie
#这种模式不会将保持会话使用的cookie传给后端服务,让保持会话的cookie对后端透明
session_sticky_hide_cookie upstream=test;
proxy_pass http://test;
}
}
指令
语法:session_sticky [cookie=name] [domain=your_domain] [path=your_path] [maxage=time] [mode=insert|rewrite|prefix] [option=indirect] [maxidle=time] [maxlife=time] [fallback=on|off] [hash=plain|md5]
默认值:session_sticky cookie=route mode=insert fallback=on
上下文:upstream
说明:
本指令可以打开会话保持的功能,下面是具体的参数:
cookie设置用来记录会话的cookie名称
domain设置cookie作用的域名,默认不设置
path设置cookie作用的URL路径,默认不设置
maxage设置cookie的生存期,默认不设置,即为session cookie,浏览器关闭即失效
mode设置cookie的模式:
insert: 在回复中本模块通过Set-Cookie头直接插入相应名称的cookie。
prefix: 不会生成新的cookie,但会在响应的cookie值前面加上特定的前缀,当浏览器带着这个有特定标识的cookie再次请求时,模块在传给后端服务前先删除加入的前缀,后端服务拿到的还是原来的cookie值,这些动作对后端透明。如:"Cookie: NAME=SRV~VALUE"。
rewrite: 使用服务端标识覆盖后端设置的用于session sticky的cookie。如果后端服务在响应头中没有设置该cookie,则认为该请求不需要进行session sticky,使用这种模式,后端服务可以控制哪些请求需要sesstion sticky,哪些请求不需要。
option 设置用于session sticky的cookie的选项,可设置成indirect或direct。indirect不会将session sticky的cookie传送给后端服务,该cookie对后端应用完全透明。direct则与indirect相反。
maxidle设置session cookie的最长空闲的超时时间
maxlife设置session cookie的最长生存期
fallback设置是否重试其他机器,当sticky的后端机器挂了以后,是否需要尝试其他机器
hash 设置cookie中server标识是用明文还是使用md5值,默认使用md5
语法: session_sticky_hide_cookie upstream=name;
默认值: none
上下文: server, location
说明:
配合proxy_pass指令使用。用于在insert+indirect模式和prefix模式下删除请求用于session sticky的cookie,这样就不会将该cookie传递给后端服务。upstream表示需要进行操作的upstream名称。
linux sticky,session_sticky命令相关推荐
- php 中find,Linux中find命令的用法汇总
Linux系统中的 find 命令在查找文件时非常有用而且方便.它可以根据不同的条件来查找文件,例如权限.拥有者.修改日期/时间.文件大小等等.在这篇文章中,我们将学习如何使用 find 命令以及它所 ...
- Linux基础常用命令
ps -ef用于查看全格式的全部进程,其中"ps"是在Linux中是查看进程的命令,"-e "参数代表显示所有进程,"-f"参数代表全格式. ...
- Linux的watch命令 -- 实时监测命令的运行结果
watch 是一个非常实用的命令,基本所有的 Linux 发行版都带有这个小工具,如同名字一样,watch 可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行. 直接在 watch 后面接你想运行 ...
- 13. Linux权限管理命令
Linux基础学习-Linux权限管理命令 第十七节 Linux权限管理命令学习6 重要 17.1权限分类 17.2 ugo权限 17.2.1查看ugo权限 17.2.2.ugo权限字符 17.2.3 ...
- Linux 下 strace 命令用法总结
Linux 下 strace 命令用法总结 1 功能说明 strace 命令是一种强大的工具, 能够显示任何由用户空间程式发出的系统调用. strace 显示这些调用的参数并返回符号形式的值. str ...
- chmod命令用法(linux中chmod命令用法)
linuxsort命令有哪些用法? txt apple banana orange pear 2 sort的-u选项 它的作用很简单,就是在输出行中去除重复行. [rocrocket@rocrocke ...
- Linux中一行命令查看网卡流量、统计网络流量的各种实现方法
Linux中一行命令查看网卡流量.统计网络流量的各种实现方法. 方法一.nload工具 源码包路径: wget http://heanet.dl.sourceforge.net/project/nlo ...
- Linux(Ubuntu 命令大全)
Linux(Ubuntu 命令大全) Ubuntu 一. Ubuntu简介 Ubuntu(乌班图)是一个基于Debian的以桌面应用为主的Linux操作系统,据说其名称来自非洲南部祖鲁语或科萨语的&q ...
- linux下find命令的使用和总结
背景:find命令十分的好用,特别是在查找文件的时候,这个时候需要和文件通配符一起使用. 1 前言 我们为什么要学会使用find命令? 每一种操作系统都有成千上万的文件组成,对于linux这样&quo ...
- linux 判断某个命令是否安装
linux 判断某个命令是否安装 if ! [ -x "$(command -v git)" ]; thenecho 'Error: git is not installed.' ...
最新文章
- 《C++入门经典(第5版•修订版)》——2.6 问与答
- Java 7 并发编程指南
- MySQL高级 - 锁 - InnoDB行锁 - 基本演示
- leetcode 81. 搜索旋转排序数组 II(二分查找)
- 902. 最短编辑距离
- 简单说说JAVA的String和byte[]的关系
- iOSQuartz2D-04-手动剪裁图片并保存到相册
- 云锁惊艳亮相2016杭州云栖大会
- php用户注册表单验证
- STM32F401RCT6最小系统原理图设计
- 浏览器播放视频时蓝牙耳机自动关机
- MindManager历史版本下载地址
- 基于vue2使用vue-awesome-swiper 轮播图(踩坑记录)
- Channel 通道详解
- 多波束测深系统工作原理及组成,多波束在无人船上的应用
- 安排几款实用的内网穿透工具+教程
- 重装w11新硬盘,找不到硬盘
- 2019年淘宝新店如何引流
- 页面静态化(JSP动态页面转静态化)相关
- Yeelight LED智能灯泡(彩光版)代码控制(含pdf资料)
热门文章
- 品牌笔记本预装windows的OEM分区解决方案(联想)
- 解决windows 下文件名太长无法删除的问题
- 怎么恢复格式化的sd卡呢?
- Java并发编程学习篇3_读写锁ReadWriteLock、阻塞队列BlockingQueue、同步队列SynchronousQueue、线程池(三大方法、七大参数、四种拒绝策略、原生方式创建线程池)
- 安卓iccid_普通人也可以做码农?安卓手机上这些代码你也可以用
- 智能眼镜现在是什么水平?
- iOS下86版五笔输入法练习程序(作为备忘,最基本功能的演示demo,版本:0.99版)
- 《重构--改善既有代码的设计》--代码的坏味道(3)
- [R] R语言删除字符串中的空值““
- 台式计算机用u盘给电脑安装系统,台式机用u盘装系统,教您用u盘装系统给台式机...