※
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-zuul</artifactId> </dependency>
※
server: port: 9099 spring: application: name: my-zuul eureka: client: service-url: defaultZone: http://xxx.ooo9051:9051/eureka,http://xxx.ooo9052:9052/eureka,http://xxx.ooo9053:9053/eureka instance: instance-id: bruce-zuul prefer-ip-address: true nonSecurePort: ${server.port} info: xxx.ooo: xxoo.aa name: zuul.info jdk_version: @java.version@ version: @version@ chi_test: 梅山小路用9099 ppp: @aaa.bbb@ zuul: routes: mycloud: # 隨便寫 serviceId: PROVIDER1 path: /xxx/** # prefix: /abc # ignored-services: PROVIDER1 # 大寫微服務名稱
※ 有些版本訪問 http://zuul.ooo9099:9099/PROVIDER1/testGet 是可以成功的,但這樣就暴露了微服務名稱了,所以可以設定 ignored-services,如果全部都不給訪問,可以用「"*"」
※serviceId 會被 path 取而代之
※main 方法加入三個 annotation 即可
@SpringBootApplication@EnableZuulProxy
@EnableEurekaClient
※模擬用戶發 request 到 zuul,所以在 hosts 增加 127.0.0.1 zuul.ooo9099
※測試
開啟 eureka -> provider (9001 port) -> zuul然後在網址打上 http://zuul.ooo9099:9099/xxx/testGet 即可訪問
又如果有加 prefix,那就要換成如下的網址
http://zuul.ooo9099:9099/abc/xxx/testGet
沒有留言:
張貼留言