2017-03-06 4 views
0

私は春のマイクロサービスとzuul構成に慣れていないので、何か助けが必要です。ゲートウェイを介してマイクロサービスにアクセスできない

私はjhipster-registry上で実行されているマイクロサービスを持っていて、私のアプリケーションからゲートウェイ経由でマイクロサービスにアクセスしようとしています。私は現在の路線でこのサービスを持っている私のアプリケーションで

enter image description here

春ブーツアプリのすべてが正常に動作して自分のアプリケーションを起動したときに私がサービスにアクセスしていた場合。私はTomcat上で自分のアプリケーションを展開するときにも同様の要求はここで404

を返すzuul configです:

zuul: 
    routes: 
    assessmentapi: 
     path: /assessmentapi/** 
     serviceId: assessmentapi 
     url: http://192.168.80.44:8081/assessment-api 

とHTTP GETリクエスト

$http.get('/assessmentapi/main/....) 
+0

エンドポイントはスワッガーでアクセスできますか? 「API」ページのゲートウェイで管理者としてログインすると、swagger-uiにアクセスできます。そこで、右上のマイクロサービスを切り替えることができます。 –

+0

ヘイありアクセス可能です。利用可能なサービスを利用しているゲートウェイからの画像です –

答えて

1

あなたがでURLの一部を書くべきではありませんあなたの設定。あなたのゲートウェイのスクリーンショットで見ることができるように、ゲートウェイはユーレカとレジストリのおかげでサービスのIPを既に知っています。 IPアドレスは動的に決定されるため、設定に入るべきではありません。

+0

ヘイ・ピエール私は設定から​​URLを削除しました。このエラーが発生しました - ロードバランサにはクライアント用のサーバがありません:assessmentapi前の問題について:Tomcatのルートにアプリケーションを配備しています。つまり、コンテキストパス上の/の後のapplication_nameは、アプリケーションがtomcatにデプロイされたときに問題を起こします。アプリケーションがtomcatにデプロイされているときにapplication_nameを無視しますか?ありがとうございます –

+0

あなたはJHipsterレジストリを実行していますか、アプリケーションはそこに表示されますか?そして、application_nameを無視するとどういう意味ですか? –

+0

はいアプリケーションはマイクロサービスと同じjhipster-registryに登録されています。おそらく私は非常に良い説明していない、私は春のブートとしてアプリケーションを開始する場合$ http.get( '/ assessmentapi/main/....)返信成功(localhost:8080) 8080/application_nameこれは404と一緒に行きます。アプリケーションがTomcatのルートに展開された後、コンテキストパスはlocalhost:8080/okです。 –

関連する問題