0603-Zuul构建API Gateway-通过Zuul上传文件,禁用Zuul的Filter

一、通过Zuul上传文件

  参看地址:https://cloud.spring.io/spring-cloud-static/Edgware.SR3/single/spring-cloud.html#_uploading_files_through_zuul

  如果您使用@EnableZuulProxy,则可以使用代理路径来上传文件,只要文件很小,就应该可以工作。对于大文件,在“/ zuul / *”中有一条绕过Spring DispatcherServlet的路径(以避免多部分处理)。即如果zuul.routes.customers = / customers / **,则可以将大文件发布到“/ zuul / customers / *”。 servlet路径通过zuul.servletPath外化。如果代理路由引导您通过功能区负载平衡器,例如超大文件还需要提升超时设置。

  可以在Zuul配置:application.yml. 

hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 60000
ribbon:
  ConnectTimeout: 3000
  ReadTimeout: 60000

  请注意,为了使流式文件适用于大型文件,您需要在请求中使用分块编码(某些浏览器默认不会这样做)。例如。在命令行上:

$ curl -v -H "Transfer-Encoding: chunked" \
    -F "file=@mylarge.iso" localhost:9999/zuul/simple/file

二、嵌入简略Zuul

  如果您使用@EnableZuulServer(而不是@EnableZuulProxy),您也可以在不使用代理的情况下运行Zuul服务器,或选择性地切换代理平台的某些部分。您添加到ZuulFilter类型的应用程序的任何bean都将自动安装,因为它们与@EnableZuulProxy一样,但没有自动添加任何代理过滤器。

  在这种情况下,通过配置“zuul.routes。*”来指定进入Zuul服务器的路由,但是没有服务发现和代理服务,所以“serviceId”和“url”设置将被忽略。例如:

   application.yml. 

 zuul:
  routes:
    api: /api/**

  将“/ api / **”中的所有路径映射到Zuul过滤器链。

  将应用程序设置为通用的ZUUL服务器,而无需内置任何反向代理功能。到ZUUL服务器的路由可以通过{@ Link ZuulProperties}(默认情况下没有)。

三、禁用Zuul过滤器

  针对Spring Cloud的Zuul配备了许多在代理和服务器模式下默认启用的ZuulFilter bean。有关启用的可能过滤器,请参阅zuul过滤器包。如果你想禁用一个,只需设置zuul.<SimpleClassName>.<filterType> .disable = true。按照惯例,过滤器后面的包是Zuul过滤器类型。例如,要禁用org.springframework.cloud.netflix.zuul.filters.post.SendResponseFilter 需设置 zuul.SendResponseFilter.post.disable = true。

 

转载于:https://www.cnblogs.com/bjlhx/p/9010950.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值