1

zuulと基礎となるマイクロサービスをすべてのサービスが '/ gateway'コンテキストの下に置かれるようにセットアップしたいと思います。Zuulルーティング:複数のマイクロサービスを持つ1つのエンドポイント

Microservice 1があります:http://localhost:8081/api/hello

Microservice 2があります。たとえば

http://localhost:8082/api/bye

次のように私はzuul経由microservicesにアクセスできるようにしたいでしょう:

Microserviceを1 :http://localhost:8080/ゲートウェイ /マイクロサービス1/api/hello

Microservice 2:http://localhost:8080/ゲートウェイ/microservice2/API /さようなら

私は要求が正しくルーティング取得されていないようですが、これを設定することを試みました。

フロントエンドがすべてのクライアント側のREST呼び出しを '/ gateway'で始まるサーバーにルーティングする理由は、フロントエンドに簡単なメンテナンスを提供することです。

マイapplication.yml:

zuul: 
prefix: /gateway 
    routes: 
    microservice1: 
     path: /microservice1/** 
     serviceId: microservice1 
     strip-prefix: true 
    microservice2: 
     path: /microservice2/** 
     serviceId: microservice2 
     strip-prefix: true 

+0

どのように2つのマイクロサービスとゲートウェイを同じポート番号で使用していますか。それらは異なるサーバーに配置されているか、すべてがまとめてパッケージ化されていますか。 –

+0

各サービスは、それぞれのポートで起動されます。質問が更新されました。 Zuulは8080、M1は8081、M2は8082です。質問を更新しました。ありがとうございました –

答えて

2

は、この設定を試してみて、これはあなたのために動作するかどうか私に教えていただきありがとうございます。私は以下のようにグローバルstrip-prefix:trueを定義しなければならないと思います。実際には、デフォルトでは接頭辞の両方を取り除くので、ストリップ接頭辞なしでも動作するはずです。

zuul: 
prefix: /gateway 
strip-prefix: true 
    routes: 
    microservice1: 
     path: /microservice1/** 
     serviceId: microservice1 
     strip-prefix: true 
    microservice2: 
     path: /microservice2/** 
     serviceId: microservice2 
     strip-prefix: true 
関連する問題