电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

Springsession nginx反向代理集成過程

瀏覽:91日期:2023-09-09 17:59:34

一概述

springsession 配置,如果是sevlet的web應(yīng)用后會(huì)自動(dòng)集成 jdbc ,redis,Hazelcast,MongoDB

二session概述

2.1 分布式項(xiàng)目的session問題

在分布式項(xiàng)目中如果客戶端給服務(wù)端發(fā)送了一個(gè)請(qǐng)求,在nginx做反向代理的情況下,第一個(gè)請(qǐng)求可能到達(dá)tomcat1,此時(shí)tomcat1就會(huì)創(chuàng)建一個(gè)session然后將響應(yīng)給客戶端;同理客戶端再次發(fā)送一個(gè)請(qǐng)求,然后nginx又做了一次反向代理,此時(shí)的請(qǐng)求可能到達(dá)tomcat2,此時(shí)tomcat2會(huì)建立一個(gè)session響應(yīng)給客戶端;那么問題就產(chǎn)生了,同一個(gè)客戶端發(fā)了2個(gè)請(qǐng)求,結(jié)果造成兩次會(huì)話的數(shù)據(jù)不一致。

Springsession nginx反向代理集成過程

2.2主流的解決方案

針對(duì)2.1分布式session共享問題,當(dāng)代主流的解決方案是使用redis做session以達(dá)到session共享的目的。請(qǐng)求達(dá)到不同的tomcat之后都會(huì)往同一個(gè)redis中寫數(shù)據(jù), 當(dāng)tomcat響應(yīng)數(shù)據(jù)的時(shí)候就會(huì)往同一個(gè)redis中讀數(shù)據(jù) 以前我們需要手動(dòng)的將tomcat獲得的session數(shù)據(jù)存到redis,響應(yīng)的時(shí)候再去redis中取數(shù)據(jù)。現(xiàn)在springsession會(huì)自動(dòng)幫我們的數(shù)據(jù)從tomcat中同步到redis,或者自動(dòng)的從redis中取數(shù)據(jù)。

Springsession nginx反向代理集成過程

三session共享實(shí)現(xiàn)方案

3.1環(huán)境說明

1jdk1.8

2redis5.05

3idea工具

4maven構(gòu)建

5springboot 2.1.1

3.2pom.xml

<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.1.RELEASE</version> <relativePath/></parent><dependencies> <!-- redis啟動(dòng)器--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!-- web啟動(dòng)器--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- spring session啟動(dòng)器 --> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> </dependency></dependencies>

3.3application.yml

spring: redis: host: 192.168.0.104 port: 6379 database: 0 session: store-type: redis redis: cleanup-cron: 0 1 * * * *

3.4controller

package com.youku1327.spring.session.controller;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpSession;/** * @Author lsc * @Description //spring session * @Date 2019/9/22 14:01 * @Version 1.0 */@RestControllerpublic class SpringSessionController { @GetMapping('set/spring/session') public String setSpringSession(HttpSession httpSession){ httpSession.setAttribute('user','youku1327'); System.out.println('設(shè)置session'); return 'set spring session success'; } @GetMapping('get/spring/session') public String getSpringSession(HttpSession httpSession){ httpSession.setAttribute('user','youku1327'); System.out.println('響應(yīng)session'); return httpSession.getAttribute('user').toString(); }}

3.5啟動(dòng)類

package com.youku1327.spring.session;​import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;/** * @Author lsc * @Description // * @Date 2019/9/22 13:29 * @Version 1.0 */@SpringBootApplicationpublic class SpringSessionApplication {​ public static void main(String[] args) { SpringApplication.run(SpringSessionApplication.class,args); }}

3.6啟動(dòng)兩個(gè)實(shí)例

Springsession nginx反向代理集成過程

3.7測試

訪問8080端口設(shè)置session

Springsession nginx反向代理集成過程

訪問8083端口獲得session

Springsession nginx反向代理集成過程

3.8默認(rèn)是spring:session做為key前綴有需要改變可以在yml中配置

Springsession nginx反向代理集成過程

四nginx反向代理說明

在nginx安裝目錄的conf文件夾的nginx.conf

server { listen 端口; server_name 發(fā)布項(xiàng)目的ip地址; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass 轉(zhuǎn)發(fā)的ip地址; proxy_connect_timeout 600; proxy_read_timeout 600; } }

配置2個(gè)server 分別 監(jiān)聽 8080 8083 端口 配置轉(zhuǎn)發(fā)ip ,好后退出保存 nginx -s reload

我們就可以不同的訪問轉(zhuǎn)發(fā)ip實(shí)現(xiàn)nginx的反向代理

五參考文檔

https://docs.spring.io/spring-boot/docs/2.0.0.RELEASE/reference/htmlsingle/

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 工业冷却塔维修厂家_方形不锈钢工业凉水塔维修改造方案-广东康明节能空调有限公司 | 蒸压釜-陶粒板隔墙板蒸压釜-山东鑫泰鑫智能装备有限公司 | IHDW_TOSOKU_NEMICON_EHDW系列电子手轮,HC1系列电子手轮-上海莆林电子设备有限公司 | 动环监控_机房环境监控_DCIM_机房漏水检测-斯特纽 | 企业彩铃制作_移动、联通、电信集团彩铃上传开通_彩铃定制_商务彩铃管理平台-集团彩铃网 | 立式壁挂广告机厂家-红外电容触摸一体机价格-华邦瀛 | 合同书格式和范文_合同书样本模板_电子版合同,找范文吧 | 车载加油机品牌_ 柴油加油机厂家| 识禅_对禅的了解,从这里开始| 橡胶接头|可曲挠橡胶接头|橡胶软接头安装使用教程-上海松夏官方网站 | 智慧水务|智慧供排水利信息化|水厂软硬件系统-上海敢创 | 穿线管|波纹穿线管|包塑金属软管|蛇皮管?闵彬专注弱电工程? | 磁力抛光研磨机_超声波清洗机厂家_去毛刺设备-中锐达数控 | 武汉不干胶印刷_标签设计印刷_不干胶标签印刷厂 - 武汉不干胶标签印刷厂家 | 陕西视频监控,智能安防监控,安防系统-西安鑫安5A安防工程公司 | 企业微信scrm管理系统_客户关系管理平台_私域流量运营工具_CRM、ERP、OA软件-腾辉网络 | 冷藏车厂家|冷藏车价格|小型冷藏车|散装饲料车厂家|程力专用汽车股份有限公司销售十二分公司 | 学校用栓剂模,玻璃瓶轧盖钳,小型安瓿熔封机,实验室安瓿熔封机-长沙中亚制药设备有限公司 | 拉力测试机|材料拉伸试验机|电子拉力机价格|万能试验机厂家|苏州皖仪实验仪器有限公司 | 塑料熔指仪-塑料熔融指数仪-熔体流动速率试验机-广东宏拓仪器科技有限公司 | 设定时间记录电子秤-自动累计储存电子秤-昆山巨天仪器设备有限公司 | 山东锐智科电检测仪器有限公司_超声波测厚仪,涂层测厚仪,里氏硬度计,电火花检漏仪,地下管线探测仪 | 立刷【微电签pos机】-嘉联支付立刷运营中心 | 泰国试管婴儿_泰国第三代试管婴儿费用|成功率|医院—新生代海外医疗 | 同步带轮_同步带_同步轮_iHF合发齿轮厂家-深圳市合发齿轮机械有限公司 | LED灯杆屏_LED广告机_户外LED广告机_智慧灯杆_智慧路灯-太龙智显科技(深圳)有限公司 | 天然鹅卵石滤料厂家-锰砂滤料-石英砂滤料-巩义东枫净水 | 户外-组合-幼儿园-不锈钢-儿童-滑滑梯-床-玩具-淘气堡-厂家-价格 | 精密光学实验平台-红外粉末压片机模具-天津博君 | CCC验厂-家用电器|服务器CCC认证咨询-奥测世纪 | 杭州代理记账费用-公司注销需要多久-公司变更监事_杭州福道财务管理咨询有限公司 | 客服外包专业服务商_客服外包中心_网萌科技 | 闪蒸干燥机-喷雾干燥机-带式干燥机-桨叶干燥机-[常州佳一干燥设备] | pbt头梳丝_牙刷丝_尼龙毛刷丝_PP塑料纤维合成毛丝定制厂_广州明旺 | 凝胶成像系统(wb成像系统)百科-上海嘉鹏 | 韦伯电梯有限公司| IPO咨询公司-IPO上市服务-细分市场研究-龙马咨询 | 菲希尔X射线测厚仪-菲希尔库伦法测厚仪-无锡骏展仪器有限责任公司 | 企业微信scrm管理系统_客户关系管理平台_私域流量运营工具_CRM、ERP、OA软件-腾辉网络 | 气象监测系统_气象传感器_微型气象仪_气象环境监测仪-山东风途物联网 | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 |