我們使用三個相同服務實例,它們在eureka中註冊。他們面前有zuul。Zuul或eureka將主機標頭設置爲服務實例主機
每當我們的服務嘗試重定向到其中一個控制器(例如/ login)時,它將直接轉到hostname:port(在瀏覽器地址字段中可見),而不是再次通過zuul proxy。這給了我們超時。 我們正在跟蹤服務的標頭 - 有host
標頭設置爲我們服務的主機名。
不應該使用x-forwarded-host
的地址嗎?如何強制zuul/eureka做到這一點?或者我們應該調整一些彈簧引導配置來代替它使用它host
?
如果您使用spring mvc utilities(不記得哪些或者我將它放在答案中)構建重定向(而不是/ context)的絕對URL,它們將遵循代理標頭。這就是spring-data-rest如何在zuul後面工作(而不是重定向,它是鏈接網址)。 – spencergibb