在使用spring cloud时,用zuul部署api gateway,后端服务通过网关自动发现寻找。
每次通过api gateway访问的时候,在下面应用中获取的sessionId每次都不一样。(同一个页面刷新访问)
application.properties配置如下
- zuul.routes.api-a.sensitiveHeaders=Cookie,Set-Cookie,Authorization
就是说我通过my-consumer工程放session和取session都正常可以共享session,每次获取的sessionId都一致,但是通过my-api-gateway网关调用my-consumer出问题。
A: 后来改成如下,问题解决
- zuul.routes.api-a.sensitiveHeaders="*"
整个application.properties配置如下:
- spring.application.name=my-api-gateway
- server.port=5555
- zuul.routes.api-a.path=/api-a/**
- zuul.routes.api-a.serviceId=my-consumer
- zuul.routes.api-a.sensitiveHeaders="*"
- eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/
- #zuul
- zuul.max.host.connections=500
- zuul.host.socket-timeout-millis=60000
- zuul.host.connect-timeout-millis=60000
- hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=60000
- ribbon.ConnectTimeout=3000
- ribbon.ReadTimeout=60000
- eureka.instance.lease-renewal-interval-in-seconds=5
- eureka.instance.lease-expiration-duration-in-seconds=5