亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

Springsession nginx反向代理集成過(guò)程

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

一概述

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

二session概述

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

在分布式項(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)給客戶端;那么問(wèn)題就產(chǎn)生了,同一個(gè)客戶端發(fā)了2個(gè)請(qǐng)求,結(jié)果造成兩次會(huì)話的數(shù)據(jù)不一致。

Springsession nginx反向代理集成過(guò)程

2.2主流的解決方案

針對(duì)2.1分布式session共享問(wèn)題,當(dāng)代主流的解決方案是使用redis做session以達(dá)到session共享的目的。請(qǐng)求達(dá)到不同的tomcat之后都會(huì)往同一個(gè)redis中寫(xiě)數(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反向代理集成過(guò)程

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

3.1環(huán)境說(shuō)明

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反向代理集成過(guò)程

3.7測(cè)試

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

Springsession nginx反向代理集成過(guò)程

訪問(wèn)8083端口獲得session

Springsession nginx反向代理集成過(guò)程

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

Springsession nginx反向代理集成過(guò)程

四nginx反向代理說(shuō)明

在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)聽(tīng) 8080 8083 端口 配置轉(zhuǎn)發(fā)ip ,好后退出保存 nginx -s reload

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

五參考文檔

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

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

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 亚洲女人网 | 国产hd高清freexxxx | 欧美成人免费mv在线播放 | 国产又色又爽黄的网站免费 | 国产成人18黄网站在线观看网站 | 麻豆网页 | 免费黄色的视频 | 一级片在线 | 欧美日韩一区二区三区久久 | 丁香啪啪天堂激情婷婷 | 6969精品视频在线观看 | 国产又黄又爽又色视频影视网免费 | 国产777| 国产爽妇网 | 亚洲系列| 成人国产mv免费视频 | 亚洲黄色三级网站 | 亚洲精品在线免费看 | 九九五月天| 国内成人精品视频 | 久久91综合国产91久久精品 | 亚洲一级毛片免费观看 | 国产日韩一区二区三区 | 一区二区在线 | 成人网视频在线观看免费 | 国产成人h片视频在线观看 国产成人lu在线视频 | 欧美3d人妖交 | 成人欧美一区二区三区视频xxx | 一级黑人| 欧美成人午夜精品免费福利 | 小明永久视频 | 一级做a爰性色毛片 | 日韩免费一级毛片欧美一级日韩片 | 黄色影片在线观看 | 久久在线免费视频 | 久久在线免费观看 | 国产乱人乱精一区二区视频密 | 欧美乱妇欲仙欲死视频免费 | a级粗大硬长爽猛视频免费 a级精品国产片在线观看 | 欧美一级黄色片在线观看 | 久久激情五月丁香伊人 |