2016-08-09 6 views
1

リクエストがZuulにヒットするたびに、呼び出される実際のサービスのホストへの302リダイレクトが取得されます。したがって、URLはZuulによって書き直されます。私はこれを防止したい。ユーザーはZuulのホスト名のみを表示する必要があります。Zuulがルーティング後にホスト名を書き換えます

私はルーティングサーバーとして使用するSpring Cloud Zuulを持っています。それは以下の設定を持っています:

zuul: 
    ignoredServices: '*' 
    routes: 
    service1: 
     path: /service1/** 
     serviceId: service1 
     stripPrefix: false 
    service2: 
     path: /service2/** 
     serviceId: service2 
     stripPrefix: false 
    login: 
     path: /login/** 
     sensitiveHeaders: 
     serviceId: login 
     stripPrefix: false 

そしてZuulはサービスを発見するためにユーレカを使用しています。 logingatewaylocalhost:8081で、Zuulがlocalhost:8080で実行されているとします。 localhost:8080/loginに行くと、最初に302を得てからlocalhost:8081/loginになるでしょう。私は302リダイレクトしたくないし、ホスト名を同じにしたい。この問題に関する関連文書は見つかりませんでした。ありがとう。

+1

zuulはリダイレクトしません。あなたはリダイレクトを送るどこかのセキュリティ設定を持っており、zuulはちょうどそれを渡しています。 – spencergibb

答えて

2

@spencergibbがコメントしたように、ZuulはHTTP応答を書き換えません。この問題についても公開されている問題はhttps://github.com/spring-cloud/spring-cloud-netflix/issues/8です。コンセンサスではZuulはそれを提供しないだろうが、範囲は302リダイレクト応答の一部であるロケーションヘッダを書き換えるだけに絞られている。 Zuulの組み込みフィルタでは不可能だが、現時点では現れているように、その問題に従うことができます。

あなたはいつでも自分でこれを行うためにZuulの独自の投稿フィルタを作成できます。 Zuulのドキュメントを参照して、フィルタが実行されるタイミングを理解してください。https://github.com/Netflix/zuul/wiki/How-it-Works次に独自のフィルタの書き方をお読みください。https://github.com/Netflix/zuul/wiki/Writing-Filters

関連する問題