Java的新项目学成在线笔记-day17(十一)

 

.4.2 路由配置 
在appcation.yml中配置:

[AppleScript] 纯文本查看 复制代码

?

1

2

3

4

5

6

zuul:  

routes:  

  manage‐course:

 #路由名称,名称任意,保持所有路由名称唯一  

    path: /course/**  

      serviceId: xc‐service‐manage‐course #指定服务id,从Eureka中找到服务的ip和端口

 

[AppleScript] 纯文本查看 复制代码

?

1

2

3

#url: http://localhost:31200 #也可指定url  

    strip‐prefix: false #true:代理转发时去掉前缀,false:代理转发时不去掉前缀 

     sensitiveHeaders: #默认zuul会屏蔽cookie,cookie不会传到下游服务,这里设置为空则取消默认的黑名 单,如果设置了具体的头信息则不会传到下游服务 #   ignoredHeaders: Authorization


serviceId:推荐使用serviceId,zuul会从Eureka中找到服务id对应的ip和端口。
strip-prefix: false #true:代理转发时去掉前缀,false:代理转发时不去掉前缀,例如,为true请 求/course/coursebase/get/..,代理转发到/coursebase/get/,如果为false则代理转发到/course/coursebase/get

sensitiveHeaders:敏感头设置,默认会过虑掉cookie,这里设置为空表示不过虑 ignoredHeaders:可以设置过虑的头信息,默认为空表示不过虑任何头
  4.4.3 测试 
请求http://localhost:50201/api/course/coursepic/list/4028e58161bd22e60161bd23672a0001查询课程图片信 息
http://localhost:50201/api是网关地址,通过路由转发到xc-service-manage-course服务。
由于课程管理已经添加了授课拦截,这里为了测试网关功能暂时将“/course/coursepic/list”url排除认证。 在课程管理服务的 ResourceServerConfig类中添加"/course/coursepic/list/*",代码如下:
 

[AppleScript] 纯文本查看 复制代码

?

1

2

3

4

5

6

7

8

9

@Override public void configure(HttpSecurity http) throws Exception { 

   //所有请求必须认证通过   

 http.authorizeRequests()    

        //下边的路径放行

    .antMatchers("/v2/api‐docs", "/swagger‐resources/configuration/ui",   

         "/swagger‐resources","/swagger‐resources/configuration/security",     

      "/swagger‐ui.html","/course/coursepic/list/*")      

      .permitAll()  

  .anyRequest().authenticated(); }


完整的路由配置 

[AppleScript] 纯文本查看 复制代码

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

zuul: 

 routes:

    xc‐service‐learning:  #路由名称,名称任意,保持所有路由名称唯一 

     path: /learning/**    

  serviceId: xc‐service‐learning #指定服务id,从Eureka中找到服务的ip和端口    

  strip‐prefix: false   

   sensitiveHeaders:  

   manage‐course: 

     path: /course/**   

   serviceId: xc‐service‐manage‐course 

     strip‐prefix: false  

    sensitiveHeaders: 

    manage‐cms:    

  path: /cms/** 

    serviceId: xc‐service‐manage‐cms  

    strip‐prefix: false    

  sensitiveHeaders:  

  manage‐sys: 

    path: /sys/**  

    serviceId: xc‐service‐manage‐cms 

     strip‐prefix: false

 

[AppleScript] 纯文本查看 复制代码

?

01

02

03

04

05

06

07

08

09

10

11

sensitiveHeaders: 

   service‐ucenter:     

 path: /ucenter/**

     serviceId: xc‐service‐ucenter   

   sensitiveHeaders:    

  strip‐prefix: false

    xc‐service‐manage‐order: 

      path: /order/**    

   serviceId: xc‐service‐manage‐order 

      sensitiveHeaders:     

  strip‐prefix: false

你可能感兴趣的:(JAVA)