一、通过Zuul上传文件
参看地址:
如果您使用@EnableZuulProxy,则可以使用代理路径来上传文件,只要文件很小,就应该可以工作。对于大文件,在“/ zuul / *”中有一条绕过Spring DispatcherServlet的路径(以避免多部分处理)。即如果zuul.routes.customers = / customers / **,则可以将大文件发布到“/ zuul / customers / *”。 servlet路径通过zuul.servletPath外化。如果代理路由引导您通过功能区负载平衡器,例如超大文件还需要提升超时设置。
可以在Zuul配置:application.yml.
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 60000ribbon: 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。