义齿
2526 ワード
mvn依存
org.springframework.boot
spring-boot-starter-redis
org.springframework.session
spring-session-data-redis
zulモジュールの設定
@SpringBootApplication
@EnableZuulProxy// zuul , session , session。
@EnableEurekaClient
@EnableRedisHttpSession(redisFlushMode = RedisFlushMode.IMMEDIATE)
public class WebApplication {
public static void main(String[] args) {
SpringApplication.run(WebApplication.class,args);
}
}
zuul:
routes:
service0:
# 。 Cookie/Set-Cookie
sensitiveHeaders: Authorization
path: /api/**
url: http://localhost:8080/
service1:
path: /api2/**
url: http://localhost:8090/
sensitiveHeaders: Authorization
# header, session
1,@EnableZuulProxy注記は,zulエージェントを導入し,zulのルーティング転送機能を実現するために用いられる.
2,@EnableRedisHttpSession,redis管理セッションを指定します.ここではredisFlushModeを即時リフレッシュモードとして指定し,redisリフレッシュが遅いためsession情報が取得できないことを防止する.
注意sensitiveHeaderを構成するには、デフォルトではsensitiveHeadersにCookie/set-Cookie/Authorizationの3つのヘッダが含まれています.zulはこれらのヘッダが敏感で、デフォルトではルーティングで携帯されないと考えています.そのため、session共有のためには、必ずクッキーを放し、Authorizationだけを設定するか、他の値を指定する必要があります.
その他のモジュール
spring bootのプライマリクラスでredis管理セッションの注釈を開きます.@EnableRedisHttpSession
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;
@SpringBootApplication
@EnableDiscoveryClient
@EnableZuulProxy
@EnableRedisHttpSession
public class ZuulgatewayApplication {
public static void main(String[] args) {
SpringApplication.run(ZuulgatewayApplication.class, args);
}
}
redisの設定
# -
redis:
cluster:
nodes: 10.200.15.248:6379
timeout: 2000;
max-redirects: 7
# -
redis:
host: 10.200.15.248
port: 6379
database: 0
jedis:
pool:
max-active: 8
max-wait:
max-idle: 8
min-idle: 0
timeout:
password: