1.maven引入包

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency> <dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>

2.配置文件

zuul:
host:
socket-timeout-millis: 180000
connect-timeout-millis: 180000
max-total-connections: 1000
#忽略所有服务
ignoredServices: '*'
#添加主机头
addHostHeader: true
#是否默认支持重试
retryable: true
#路由前缀
prefix: /webmicroservice
#自定义路由
routes:
leaguer:
path: /leaguer/**
serviceId: leaguer
customSensitiveHeaders: true

3.自定义过滤器,都继承zuulFilter,实现其方法

3.1

public class AuthFilter extends ZuulFilter {
@Override
public String filterType() {
//类型为pre,前置
return FilterConstants.PRE_TYPE;
} @Override
public int filterOrder() {
//顺序为数字为6
return FilterConstants.PRE_DECORATION_FILTER_ORDER + 1;
} @Override
public boolean shouldFilter() {
//无条件执行
return true;
} @Override
public Object run() {
RequestContext context = RequestContext.getCurrentContext();
//TODO 实现自己需要执行的逻辑如,鉴定权限相关.....
log.info("authFilter----->pre_type----->order=6");
return null;
}
}
public class LoginPostFilter extends ZuulFilter {
@Override
public String filterType() {
//类型为post,后置
return FilterConstants.POST_TYPE;
} @Override
public int filterOrder() {
//顺序为数字为999
return FilterConstants.SEND_RESPONSE_FILTER_ORDER - 1;
} @Override
public boolean shouldFilter() {
//无条件执行
return true;
} @Override
public Object run() {
//TODO 实现自己需要执行的逻辑如,登录后做些什么
log.info("loginFilter----->post_type----->order=999");
return null;
}
}

3.2实例化,注入spring容器

@Bean
public AuthFilter getAuthFilter(){
return new AuthFilter();
} @Bean
public LoginPostFilter getLoginPostFilter(){
return new LoginPostFilter();
}

4.启动服务且发送请求

::14.266 DEBUG  --- [nio--exec-] o.s.b.w.f.OrderedRequestContextFilter    : Bound request context to thread: org.apache.catalina.connector.RequestFacade@fa6901d
::14.266 DEBUG --- [nio--exec-] o.s.web.servlet.DispatcherServlet : DispatcherServlet with name 'dispatcherServlet' processing POST request for [/webmicroservice/leaguer/leaUser/createImge]
::14.266 DEBUG --- [nio--exec-] o.s.c.n.zuul.filters.SimpleRouteLocator : route matched=ZuulRoute{id='leaguer', path='/leaguer/**', serviceId='leaguer', url='null', stripPrefix=true, retryable=null, sensitiveHeaders=[], customSensitiveHeaders=true, }
::14.266 DEBUG --- [nio--exec-] o.s.c.n.zuul.web.ZuulHandlerMapping : Matching patterns for request [/webmicroservice/leaguer/leaUser/createImge] are [/webmicroservice/leaguer/**]
11:39:14.266 DEBUG 12920 --- [nio-8116-exec-2] o.s.c.n.zuul.web.ZuulHandlerMapping : URI Template variables for request [/webmicroservice/leaguer/leaUser/createImge] are {}
11:39:14.266 DEBUG 12920 --- [nio-8116-exec-2] o.s.c.n.zuul.web.ZuulHandlerMapping : Mapping [/webmicroservice/leaguer/leaUser/createImge] to HandlerExecutionChain with handler [org.springframework.cloud.netflix.zuul.web.ZuulController@1f78d415] and 1 interceptor
11:39:14.267 DEBUG 12920 --- [nio-8116-exec-2] c.n.zuul.http.HttpServletRequestWrapper : Path = null
11:39:14.267 DEBUG 12920 --- [nio-8116-exec-2] c.n.zuul.http.HttpServletRequestWrapper : Transfer-Encoding = null
11:39:14.267 DEBUG 12920 --- [nio-8116-exec-2] c.n.zuul.http.HttpServletRequestWrapper : Content-Encoding = null
11:39:14.267 DEBUG 12920 --- [nio-8116-exec-2] c.n.zuul.http.HttpServletRequestWrapper : Content-Length header = 12
11:39:14.267 DEBUG 12920 --- [nio-8116-exec-2] c.n.zuul.http.HttpServletRequestWrapper : Length of contentData byte array = 12
11:39:14.267 DEBUG 12920 --- [nio-8116-exec-2] o.s.c.n.zuul.filters.SimpleRouteLocator : Finding route for path: /webmicroservice/leaguer/leaUser/createImge
11:39:14.267 DEBUG 12920 --- [nio-8116-exec-2] o.s.c.n.zuul.filters.SimpleRouteLocator : servletPath=/
11:39:14.267 DEBUG 12920 --- [nio-8116-exec-2] o.s.c.n.zuul.filters.SimpleRouteLocator : zuulServletPath=/zuul
11:39:14.267 DEBUG 12920 --- [nio-8116-exec-2] o.s.c.n.zuul.filters.SimpleRouteLocator : RequestUtils.isDispatcherServletRequest()=true
11:39:14.267 DEBUG 12920 --- [nio-8116-exec-2] o.s.c.n.zuul.filters.SimpleRouteLocator : RequestUtils.isZuulServletRequest()=false
11:39:14.267 DEBUG 12920 --- [nio-8116-exec-2] o.s.c.n.zuul.filters.SimpleRouteLocator : adjustedPath=/webmicroservice/leaguer/leaUser/createImge
11:39:14.267 DEBUG 12920 --- [nio-8116-exec-2] o.s.c.n.zuul.filters.SimpleRouteLocator : Matching pattern:/webmicroservice/leaguer/**
11:39:14.267 DEBUG 12920 --- [nio-8116-exec-2] o.s.c.n.zuul.filters.SimpleRouteLocator : route matched=ZuulRoute{id='leaguer', path='/leaguer/**', serviceId='leaguer', url='null', stripPrefix=true, retryable=null, sensitiveHeaders=[], customSensitiveHeaders=true, }
11:39:14.268 INFO 12920 --- [nio-8116-exec-2] c.e.springbootzuul.filters.AuthFilter : authFilter----->pre_type----->order=6
11:39:14.268 DEBUG 12920 --- [nio-8116-exec-2] o.s.b.f.s.DefaultListableBeanFactory : Returning cached instance of singleton bean 'ribbonLoadBalancingHttpClient'
11:39:14.268 DEBUG 12920 --- [nio-8116-exec-2] o.s.b.f.s.DefaultListableBeanFactory : Returning cached instance of singleton bean 'ribbonLoadBalancer'
11:39:14.268 DEBUG 12920 --- [nio-8116-exec-2] o.s.b.f.s.DefaultListableBeanFactory : Returning cached instance of singleton bean 'ribbonClientConfig'
11:39:14.269 DEBUG 12920 --- [nio-8116-exec-2] c.n.loadbalancer.ZoneAwareLoadBalancer : Zone aware logic disabled or there is only one zone
11:39:14.269 DEBUG 12920 --- [nio-8116-exec-2] c.n.loadbalancer.LoadBalancerContext : leaguer using LB returned Server: 10.0.126.14:8085 for request /leaUser/createImge
11:39:14.270 DEBUG 12920 --- [nio-8116-exec-2] o.a.h.client.protocol.RequestAuthCache : Auth cache not set in the context
11:39:14.270 DEBUG 12920 --- [nio-8116-exec-2] h.i.c.PoolingHttpClientConnectionManager : Connection request: [route: {}->http://10.0.126.14:8085][total kept alive: 1; route allocated: 1 of 50; total allocated: 1 of 200]
11:39:14.271 DEBUG 12920 --- [nio-8116-exec-2] org.apache.http.wire : http-outgoing-0 << "[read] I/O error: Read timed out"
11:39:14.271 DEBUG 12920 --- [nio-8116-exec-2] h.i.c.PoolingHttpClientConnectionManager : Connection leased: [id: 0][route: {}->http://10.0.126.14:8085][total kept alive: 0; route allocated: 1 of 50; total allocated: 1 of 200]
11:39:14.271 DEBUG 12920 --- [nio-8116-exec-2] h.i.c.DefaultManagedHttpClientConnection : http-outgoing-0: set socket timeout to 0
11:39:14.271 DEBUG 12920 --- [nio-8116-exec-2] h.i.c.DefaultManagedHttpClientConnection : http-outgoing-0: set socket timeout to 1000
11:39:14.271 DEBUG 12920 --- [nio-8116-exec-2] o.a.http.impl.execchain.MainClientExec : Executing request POST /leaUser/createImge HTTP/1.1
11:39:14.271 DEBUG 12920 --- [nio-8116-exec-2] o.a.http.impl.execchain.MainClientExec : Target auth state: UNCHALLENGED
11:39:14.271 DEBUG 12920 --- [nio-8116-exec-2] o.a.http.impl.execchain.MainClientExec : Proxy auth state: UNCHALLENGED
11:39:14.271 DEBUG 12920 --- [nio-8116-exec-2] org.apache.http.headers : http-outgoing-0 >> POST /leaUser/createImge HTTP/1.1
11:39:14.271 DEBUG 12920 --- [nio-8116-exec-2] org.apache.http.headers : http-outgoing-0 >> accept-language: zh-CN,zh;q=0.9
11:39:14.271 DEBUG 12920 --- [nio-8116-exec-2] org.apache.http.headers : http-outgoing-0 >> referer: http://localhost:9200/vip/login
11:39:14.271 DEBUG 12920 --- [nio-8116-exec-2] org.apache.http.headers : http-outgoing-0 >> content-type: application/x-www-form-urlencoded
11:39:14.272 DEBUG 12920 --- [nio-8116-exec-2] org.apache.http.headers : http-outgoing-0 >> user-agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36
11:39:14.272 DEBUG 12920 --- [nio-8116-exec-2] org.apache.http.headers : http-outgoing-0 >> origin: http://localhost:9200
11:39:14.272 DEBUG 12920 --- [nio-8116-exec-2] org.apache.http.headers : http-outgoing-0 >> accept: application/json, text/plain, */*
::14.272 DEBUG --- [nio--exec-] org.apache.http.headers : http-outgoing- >> x-forwarded-host: localhost:
::14.272 DEBUG --- [nio--exec-] org.apache.http.headers : http-outgoing- >> x-forwarded-proto: http
::14.272 DEBUG --- [nio--exec-] org.apache.http.headers : http-outgoing- >> x-forwarded-prefix: /webmicroservice/leaguer
::14.272 DEBUG --- [nio--exec-] org.apache.http.headers : http-outgoing- >> host: localhost:
::14.272 DEBUG --- [nio--exec-] org.apache.http.headers : http-outgoing- >> x-forwarded-port:
::14.272 DEBUG --- [nio--exec-] org.apache.http.headers : http-outgoing- >> x-forwarded-for: 10.0.126.14
::14.272 DEBUG --- [nio--exec-] org.apache.http.headers : http-outgoing- >> Accept-Encoding: gzip
::14.272 DEBUG --- [nio--exec-] org.apache.http.headers : http-outgoing- >> Content-Length:
::14.272 DEBUG --- [nio--exec-] org.apache.http.headers : http-outgoing- >> Connection: Keep-Alive
::14.272 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- >> "POST /leaUser/createImge HTTP/1.1[\r][\n]"
::14.272 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- >> "accept-language: zh-CN,zh;q=0.9[\r][\n]"
::14.272 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- >> "referer: http://localhost:9200/vip/login[\r][\n]"
::14.272 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- >> "content-type: application/x-www-form-urlencoded[\r][\n]"
::14.272 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- >> "user-agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36[\r][\n]"
::14.272 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- >> "origin: http://localhost:9200[\r][\n]"
::14.272 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- >> "accept: application/json, text/plain, */*[\r][\n]"
::14.272 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- >> "x-forwarded-host: localhost:9200[\r][\n]"
::14.272 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- >> "x-forwarded-proto: http[\r][\n]"
::14.272 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- >> "x-forwarded-prefix: /webmicroservice/leaguer[\r][\n]"
::14.272 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- >> "host: localhost:9200[\r][\n]"
::14.272 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- >> "x-forwarded-port: 9200[\r][\n]"
::14.272 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- >> "x-forwarded-for: 10.0.126.14[\r][\n]"
::14.272 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- >> "Accept-Encoding: gzip[\r][\n]"
::14.272 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- >> "Content-Length: 12[\r][\n]"
::14.272 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- >> "Connection: Keep-Alive[\r][\n]"
::14.272 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- >> "[\r][\n]"
::14.272 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- >> "param=e30%3D"
::14.330 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- << "HTTP/1.1 200 OK[\r][\n]"
::14.330 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- << "Connection: keep-alive[\r][\n]"
::14.330 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- << "Transfer-Encoding: chunked[\r][\n]"
::14.330 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- << "Content-Type: application/json;charset=UTF-8[\r][\n]"
::14.330 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- << "X-Application-Context: leaguer[\r][\n]"
::14.330 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- << "Date: Wed, 03 Jul 2019 03:39:14 GMT[\r][\n]"
::14.330 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- << "[\r][\n]"
::14.330 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- << "045d[\r][\n]"
::14.330 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- << "{"result":"eyJjb2RlIjowLCJkZXRhaWwiOiLojrflj5blm77lvaLpqozor4HnoIHmiJDlip8iLCJlbnRpdHkiOnsiaW1nU3RyIjoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFIZ0FBQUFvQ0FJQUFBQzZpS2x5QUFBQnNVbEVRVlI0MnUzYnUwMEFNUXdBMEt0b3FHaFlnRG5ZZ3c3Uk1BSkx3QllVRkZRMENGcm9tQUxXb0FCT1FvcWloSFA4aStNTHRsem1ybmhuMlVta1c3NGpUR0lKZ29BT2FQTTRmYjZZQi9ybDVpNGw1c2w4UGZLUjY2KzNsQXhyZ1B2cDdLaVpqaW9hRDhkUUZrTEQzQmpvc2R3YzZGSEtXOXg0NVlIV0MwT1FvYXdMWFhCVG9ZZFlMMVJFbm5MWE9ibG1VOUExZEUzSmF4cTlZNFZMMXZBeVI5QkF6VXFVMWZ0R3pRZHZTMGpRSDUrWEtTVnJDTkFKOVBYOHlrTTIrUUJ1UldpcTh1YUJwWVlXZGd5RGlzNzU0RzFKOFliYmt3Y1gwQ3A5MlFhNnlHSk9idFZ5RFoxVHFpaFBEbDF6Ly9rR0dMclE1Q2xEZHgxektPZmNKT3VSMEd3T0Q5RHdHRVJDczVVYnQzZGFXMmJqU2NnNHJRUzBEblJ6SldZZVNwUXRvSE5sWFdqU3FWclNQZVRLMkI2OTkzSkdRdDhmdks4WjBMMGE5Szl2VGx6M0NxSHlQTkNNWFVmaEM4L0RnQ1lyYjlVdnhscjU5bTVLWmNCWGN1a1IwQVRma2RCYTBROGFEcEt2VFV3RjdkRFhBdHBNMmJOdlIramlLTmdQZWhlK3ZhQU5sUGZsYXdmOXozMk5obUg0ZW9lZXh0Y3Y5R1MrcHRDUHg0ZjJHUlZ0Rk42K2J2eGFFUlVkMEJHTStBRllKSk56YmJRODhRQUFBQUJKUlU1RXJrSmdnZz09IiwidXVpZCI6ImU2Yjc4OWJlLTU2ZjAtNDAxMS05N2NmLTBiZThiMzc2NjQ0NCJ9LCJnZW5lcmFsQnVzaW5lc3NFeGNlcHRpb24iOm51bGx9"}[\r][\n]"
::14.330 DEBUG --- [nio--exec-] org.apache.http.headers : http-outgoing- << HTTP/1.1 OK
::14.330 DEBUG --- [nio--exec-] org.apache.http.headers : http-outgoing- << Connection: keep-alive
::14.330 DEBUG --- [nio--exec-] org.apache.http.headers : http-outgoing- << Transfer-Encoding: chunked
::14.330 DEBUG --- [nio--exec-] org.apache.http.headers : http-outgoing- << Content-Type: application/json;charset=UTF-
::14.330 DEBUG --- [nio--exec-] org.apache.http.headers : http-outgoing- << X-Application-Context: leaguer
::14.333 DEBUG --- [nio--exec-] org.apache.http.headers : http-outgoing- << Date: Wed, Jul :: GMT
::14.333 DEBUG --- [nio--exec-] o.a.http.impl.execchain.MainClientExec : Connection can be kept alive indefinitely
::14.334 INFO --- [nio--exec-] c.e.s.filters.LoginPostFilter : loginFilter----->post_type----->order=
::14.334 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- << "0[\r][\n]"
::14.334 DEBUG --- [nio--exec-] org.apache.http.wire : http-outgoing- << "[\r][\n]"
::14.334 DEBUG --- [nio--exec-] h.i.c.PoolingHttpClientConnectionManager : Connection [id: ][route: {}->http://10.0.126.14:8085] can be kept alive indefinitely
::14.334 DEBUG --- [nio--exec-] h.i.c.DefaultManagedHttpClientConnection : http-outgoing-: set socket timeout to
::14.334 DEBUG --- [nio--exec-] h.i.c.PoolingHttpClientConnectionManager : Connection released: [id: ][route: {}->http://10.0.126.14:8085][total kept alive: 1; route allocated: 1 of 50; total allocated: 1 of 200]
::14.335 DEBUG --- [nio--exec-] o.s.web.servlet.DispatcherServlet : Null ModelAndView returned to DispatcherServlet with name 'dispatcherServlet': assuming HandlerAdapter completed request handling
::14.335 DEBUG --- [nio--exec-] o.s.web.servlet.DispatcherServlet : Successfully completed request

最新文章

  1. shell比较两个字符串是否相等
  2. 云南南天电子信息产业股份有限公司某站SQL注入漏洞
  3. mysql 数据库基本概念
  4. Data URI 应用场景小结
  5. C++中const 的各种用法
  6. meteor 为基础,联合 Apollo + React + React-Router
  7. [深入浅出Windows 10]QuickCharts图表控件库解析
  8. Java 常用字符串操作总结
  9. Swift语言
  10. nodejs学习笔记&lt;四&gt;处理请求参数
  11. R 读取clipboard内容 (MAC)
  12. java web 路径 --转载
  13. webform repeater
  14. springboot中访问jsp文件方式
  15. PID实战-STM32电机PWM力矩调节系统
  16. 2016.5.24——Intersection of Two Linked Lists
  17. MD文件
  18. python模块之StringIO/cStringIO(内存文件)
  19. 前端QRCode.js生成二维码(解决长字符串模块和报错问题)
  20. oozie开发注意事项

热门文章

  1. 2018-8-10-win10-uwp-json
  2. 2018-8-10-win10-uwp-ApplicationView
  3. 【JS学习】慕课网2-7 练习题:制作新按钮,“新窗口打开网站” ,点击打开新窗口。
  4. React 使用antd 清空表单
  5. nginx进行获取阿里云slb真实ip配置操作
  6. 08-03-re-模块
  7. CacheException: java.io.OptionalDataException
  8. go函数声明
  9. 【LeetCode 10】正则表达式匹配
  10. Mysql中设置默认时间为系统当前时间