1

いくつかの Spring Cloud サービス (構成、サービス レジストリ、および Zuul) を使用してローカル環境をセットアップしました。プロキシは、デフォルトのマッピングを使用してサービスを正しく公開します。

2015-11-23 14:06:30.184  INFO 11532 --- [           main] o.s.c.n.zuul.web.ZuulHandlerMapping      : Mapped URL path [/api-proxy/**] onto handler of type [class org.springframework.cloud.netflix.zuul.web.ZuulController]
2015-11-23 14:06:30.184  INFO 11532 --- [           main] o.s.c.n.zuul.web.ZuulHandlerMapping      : Mapped URL path [/service-discovery/**] onto handler of type [class org.springframework.cloud.netflix.zuul.web.ZuulController]
2015-11-23 14:06:30.184  INFO 11532 --- [           main] o.s.c.n.zuul.web.ZuulHandlerMapping      : Mapped URL path [/config-service/**] onto handler of type [class org.springframework.cloud.netflix.zuul.web.ZuulController]
2015-11-23 14:06:30.184  INFO 11532 --- [           main] o.s.c.n.zuul.web.ZuulHandlerMapping      : Mapped URL path [/circuitbreaker-collector/**] onto handler of type [class org.springframework.cloud.netflix.zuul.web.ZuulController]
2015-11-23 14:06:30.184  INFO 11532 --- [           main] o.s.c.n.zuul.web.ZuulHandlerMapping      : Mapped URL path [/circuitbreaker-dashboard/**] onto handler of type [class org.springframework.cloud.netflix.zuul.web.ZuulController]

私が見ている問題は、http://localhost/service-discovery/に移動すると、Eureka ダッシュボードが表示されますが、関連する静的リソースが読み込まれないことです。ブラウザには次のようなエラーが表示されます。

http://localhost/eureka/css/wro.css Failed to load resource: the server responded with a status of 404 (Not Found)
http://localhost/eureka/js/wro.js Failed to load resource: the server responded with a status of 404 (Not Found)
service-discovery:223 Uncaught ReferenceError: $ is not defined
http://localhost/eureka/css/wro.css Failed to load resource: the server responded with a status of 404 (Not Found)

この問題を回避する方法はありますか? 私が知る限り、Eureka ダッシュボードはリソースをロードするときに相対パスを使用しておらず、代わりにアプリがルート サーブレット コンテキストにデプロイされていると想定しています。

更新 私は、私が見逃していることに気付きました。このスレッドにコメントしましたが、メインの投稿に上げようと思いました。問題は、Zuul がクライアントに代わってバックエンド リクエストを行うことです。Zuul がその要求を行うと、HTML 応答には、Eureka 用に構成されたコンテキスト パスに関連する URL が含まれます。通常、プロキシ サービスは、応答で見つかった URL を書き換えて、プロキシが公開する方法に関して正しい基本コンテキストを持つようにすることで、これを管理します。Zuulにこのようなものはありますか?

問題をより適切に説明するために件名を変更しました。

4

1 に答える 1

2

その理由は、コンテキストパスがホームページと静的ファイルで異なるためだと思います。それらを別々に設定することでその問題を解決しました。

registry:
  path: /registry/**
  url: http://localhost:8006/
  strip-prefix: true
registry-static:
  path: /eureka/**
  url: http://localhost:8006/eureka/
于 2018-01-15T02:54:43.467 に答える