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。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM