2014-12-18 2 views
3

Я играю с Зуулом, но, похоже, что-то фундаментальное я не понимаю.Zuul Reverse Proxy Язык Понимание

В документации (http://cloud.spring.io/spring-cloud-netflix/spring-cloud-netflix.html) следующая конфигурация Zuul должна перенаправлять все HTTP-вызовы на «/ myusers» на «пользователей».

zuul: 
    routes: 
     users: /myusers/** 

У меня есть похожий сценарий, но он просто не работает. Моя конфигурация:

zuul: 
    route: 
     stores: /california/** 

Идентификатор сервиса является «магазином» и имеет URL-адрес «/ hello». Когда я ударил:

http://localhost:8765/california/hello, 

Я получаю сообщение об ошибке Spring Boot 404. Тем не менее, все работает очень хорошо, если я заменю калифорния с магазинами, в результате чего в следующей конфигурации:

zuul: 
    route: 
     stores: /stores/** 

В этом случае, если я позвоню

http://localhost:8765/stores/hello, 

вещи работают нормально. Таким образом, похоже, что префикс URL-адреса должен соответствовать идентификатору службы. Это ожидаемое поведение? Что мне не хватает?

Я использую Zuul 1.0.0.BUILD-SNAPSHOT. На заметке aisde я заметил, что клиент обнаружения теперь встроен в Zuul. Есть ли способ отключить его, если я не хочу запускать Eureka?

+1

что делает '/ routes' шоу? Если вы не используете обнаружение, zuul не будет работать, если вы не добавите полный URL-адрес для пересылки. – spencergibb

+1

Где находится ваш файл YAML? Вы уверены, что он используется во время выполнения (ваши симптомы согласуются с автоматическим маршрутом, добавленным через обнаружение, и не считывая файл конфигурации)? –

+1

/показывает маршруты: {"/ stores/**": "stores"}; несмотря на то, что в моем приложении.yml у меня есть: магазины:/california/**. – Klaus

ответ

5

О боже мой, это должно быть, конечно,

zuul: 
    routes: 

вместо

zuul: 
    route: 
+0

Yup, я просто исправил это в [spring-cloud-samples/zuul-server application.yml] (https://github.com/spring-cloud-samples/zuul-server/issues/2) – spencergibb