0

を使用しているとき、私は合理的にシンプルな春の雲Netflixのセットアップを持っています。 Zuulはリバースプロキシとして、ユーレカはサービスディスカバリとレジストリとして使用しています。私たちはゆっくりと窒息している伝統的なサービスを持っています。私たちは、このように構成された彼らのエンドポイントを持つ多くの単純なサービスを持っている:Zuulルーティングユーレカサービス

{host}:{port}/{service-name}/** 

は今、各サービスはユーレカに登録されると、その後Zuulに追加のルートを持っている、zuulエンドポイントは次のようになります。

{zuul-host}:{zuul-port}/{service-name}/{service-name}/** 

{zuul-host}:{zuul-port}/{service-name}/** 

とに転送::0123私は私のzuulエンドポイントは次のようになりようユーレカサービスにルーティングされたURIオフプレフィックスをストライピングからZuulを停止したい

{zuul-host}:{zuul-port}/{service-name}/** 

これは、すべてのサービスごとにconfigsを追加する必要はありません。

私はzuul.strip-prefixがトリックを行っているであろうと想定しているだろうが、それはケースのように表示されません。

現在Zuul application.yml:

zuul: 
    routes: 
    oldservice: 
     path: /oldservice/** 
     url: http://oldservice-host:9080/api/v1/oldservice 
    strip-prefix: false 
eureka: 
    client: 
    serviceUrl: 
     defaultZone: http://eureka-host:8761/eureka/ 

誰もが、私はこのようにzuulを設定する方法についての提案がありますか?

+0

接頭辞を 'zuul.prefix'で定義しようとしましたか? – Jeff

+0

接頭辞は各サービスごとに異なります。接頭辞は各サービスの名前です。私たちは現在、各ユーレカサービスのapplication.ymlにエントリがありますが、それはうまく拡張できません。 –

答えて

6

あなたは以下のようにルーティングするためのサービスIDを使用しない理由はユーレカであなたのサービスを登録しているため。 service-idはあなたのサービスがユーレカで登録されるIDです。あなたの現在のシナリオについては

zuul: 
    routes: 
    path: /oldservice/** 
    service-id: oldservice 
    strip-prefix: false 
eureka: 
    client: 
    serviceUrl: 
     defaultZone: http://eureka-host:8761/eureka/ 

私は私はあなたがそれを試すことができ、私のシステムではそのようにそれを持っているルートの内側にストリップ接頭辞を動かしました。

zuul: 
    routes: 
    oldservice: 
     path: /oldservice/** 
     url: http://oldservice-host:9080/api/v1/oldservice 
     strip-prefix: false 
eureka: 
    client: 
    serviceUrl: 
     defaultZone: http://eureka-host:8761/eureka/ 
+0

私はこれを提案します、提案のおかげで。 –

+0

実際にstripPrefixが何をしているのかを教えてください。この@asdasdsdf – asdasdsdf

+0

は、あなたがそれを理解するのに役立つはずですhttp://cloud.spring.io/spring-cloud-static/Camden.SR3/#netflix-zuul-reverse-proxy –