授权认证中心的授权码模式穿过zuul的timeout问题
来源:5-6 实现授权码认证流程(2)
小葱与奥特曼
2020-11-19
jojo老师,你好!
如标题所述,
若是授权码模式,回调获取code之后,再穿过zuul网关访问认证授权中心,拿code换token的时候,访问常常会出现timeout的情况;
不穿过zuul直接访问认证授权中心则速度很快,没有任何问题。这是什么原因?zuul的原因吗?
(若是密码模式,穿过zuul网关,能正常访问!)
以下是通过zuul访问认证授权中心时,前端服务器经常出现的报错信息
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Thu Nov 19 10:39:32 CST 2020
There was an unexpected error (type=Internal Server Error, status=500).
I/O error on POST request for "http://gateway.test.local:2103/token/oauth/token": Operation timed out (Connection timed out); nested exception is java.net.ConnectException: Operation timed out (Connection timed out)
以下是zuul项目的配置信息,其他代码与课程类同(审计日志、没有进行限流、动态权限permissionserice)
spring:
profiles:
active: dev
application:
name: zuul-gateway
# 上传文件大小,zuul和上传的服务都要加上配置;若访问上游服务地址加上/zuul则在zuul中不需要配置以下上传大小
servlet:
multipart:
max-file-size: 100MB
max-request-size: 100MB
# 数据源
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: ${AUTH_DATASOURCE_URL}
username: ${AUTH_DATASOURCE_USERNAME}
password: ${AUTH_DATASOURCE_PASSWORD}
druid:
initial-size: 1
min-idle: 1
max-active: 20
test-on-borrow: true
stat-view-servlet:
allow: true
# 网关自验token,启动时拿到认证服务器的token_key
security:
oauth2:
client:
client-id: gateway
client-secret: 123456
resource:
jwt:
key-uri: ${AUTH_SERVICE_ENDPOINT}/oauth/token_key
zuul:
# zuul的路由转发配置
routes:
token:
url: ${AUTH_SERVICE_ENDPOINT}
house:
url: ${HOUSE_SERVICE_ENDPOINT}
article:
url: ${ARTICLE_SERVICE_ENDPOINT}
user:
url: ${USER_SERVICE_ENDPOINT}
# 无敏感头,所有头信息携带的信息都放过,则所有在头信息塞的东西都能往后传送
sensitive-headers:
## 默认配置-----------------start
# feign声明式调用配置
feign:
# 配置gzip压缩
compression:
request:
enabled: true
# 配置压缩类型、最小压缩值的标准
mime-types: text/xml,application/xml,application/json
min-request-size: 2048
response:
enabled: true
# 可通过配置文件的方式,配置日志级别、连接超时时间、重试、拦截器、编解码器、契约(springmvc注解还是原生的feign定义方式)
client:
config:
house-service:
loggerLevel: full
# 配置hystix启用
hystrix:
enabled: true
# hystrix容错配置
hystrix:
threadpool:
default:
coreSize: 200 #并发执行的最大线程数,默认10
maxQueueSize: 1000 #BlockingQueue的最大队列数,默认值-1
queueSizeRejectionThreshold: 800 #即使maxQueueSize没有达到,达到queueSizeRejectionThreshold该值后,请求也会被拒绝,默认值5
# mybatis
mybatis:
type-aliases-package: com.lysj.zuulgateway.model
mapper-locations: classpath:mapper/*.xml
mapper:
mappers: com.lysj.zuulgateway.utils.MyMapper
not-empty: false
identity: MYSQL
pagehelper:
helper-dialect: mysql
reasonable: false
support-methods-arguments: true
params: count=countSql
写回答
1回答
-
JoJo
2020-11-30
看配置没什么问题啊...我们是没有在前面放zuul的,所以没碰到过你的问题。现在不建议用zuul了,问题比较多。
00
相似问题