1

@EnableSidecarアノテーションは、ドキュメンテーションに基づいてユーレカに登録したい非JVMアプリケーションのプロキシとして機能します。したがって、設定される設定は次のとおりです。Spring Cloudサイドカーが期待通りに動作しない

sidecar: 
    port: 81 <-- Port of the non-JVM application 
    health-uri: http://10.135.16.50:${sidecar.port}/api/health.php <-- URI of the non-JVM application's health endpoint 
    home-page-uri: http://10.135.16.50:${sidecar.port}/ 

「サイドカー」は起動して実行したら、私達はちょうどという名前を使用して、サービスレジストリを通じて非JVMのエンドポイントの1つを呼び出すことができるはずですユーレカに登録するための「サイドカー」アプリケーション。私たちの「サイドカー」アプリケーションはのようなエンドポイントとプロキシに「PHP-サイドカー」として、ユーレカでPHPアプリケーションを登録したのであれば、たとえば、:

http://10.135.16.50:81/api/microservice.php 

その後、我々は、取得するには、次のエンドポイントを呼び出すことができるはずです

http://localhost:8080/php-sidecar/api/microservice.php 

しかし、これは期待通りに動作していない非JVMアプリケーションに(「サイドカー」を想定「はlocalhost」とポート8080です)。上のURIを要求すると、サイドカーのプロパティの一部として定義されたhome-page-uriではなく、 "サイドカー"がホストURIを何らかの形でピックアップしているため、 "localhost:81"へのリクエストが実際に発行されます。

localhostを使用して非JVMアプリケーションをローカルで実行すると、すべて正常に動作しますが、現実的なユースケースではありません。

したがって、Spring Cloud(この特定のケースではZuul)に、ローカルホストURIではなく非JVMホームページを使用するように設定すると、私は何が欠けていますか?

ご協力いただきありがとうございます。

答えて

0

調査の結果、サイドカーは常に非JVMアプリケーションと同じホストに配置する必要があることが判明しました。

関連する問題