基本配置文件
Application Class
1 |
|
@EnableZuulProxy 与 @EnableZuulServer 区别
@EnableZuulServer,不加载任何反向代理过滤器,不使用Eureka的服务发现来发现其他服务。@EnableZuulServer只在搭建自己的路由服务并不使用Zuul的预构建功能时使用。
比如需要使用Zuul来配合其它不是Eureka的服务发现引擎,如Consul。
application.properties
1 | server.port=8080 |
如果部署在kubernetes上,则不需要eureka,直接使用kube自带发现服务
route优先级问题
1 |
|
路及匹配的顺序是从上到下
查看当前route path配置
1 | management.security.enabled=false |
1 | zuul.routes.stripPrefix=false |
访问/gateway/xxx,此时转发的请求是/xx;如果修改为true,则是/gateway/xx
跳转到本地URL1
2zuul.routes.user.path=/user/**
zuul.routes.user.url=forward:/user
跨域问题
1 |
|
报错:The ‘Access-Control-Allow-Origin’ header contains multiple values
解决方案:1
zuul.ignored-headers=Access-Control-Allow-Credentials, Access-Control-Allow-Origin
sensitiveHeaders与ignoredHeaders的区别
- sensitiveHeaders会过滤客户端附带的headers
例如:sensitiveHeaders: X-ABC如果客户端在发请求是带了X-ABC,那么X-ABC不会传递给下游服务。
- ignoredHeaders会过滤服务之间通信附带的headers
例如:ignoredHeaders: X-ABC如果客户端在发请求是带了X-ABC,那么X-ABC依然会传递给下游服务。但是如果下游服务再转发就会被过滤。
Read Timeout
1 | zuul.host.max-total-connections=3000 |