#spring #spring-cloud
#spring #spring-cloud
Вопрос:
Я включаю spring-cloud-starter-gateway
( Hoxton.SR5
), пытаясь поддерживать несколько хостов, но безуспешно.
Я хотел бы http://en.portal.com/common
маршрут к порту 80
и http://us.portal.com/common
маршрут к порту 81
.
- id: host_route_en
uri: lb://127.0.0.1:80
predicates:
- Host=en.portal.com
- Path=/common/**
- id: host_route_us
uri: lb://127.0.0.1:81
predicates:
- Host=us.portal.com
- Path=/common/**
Не могли бы вы указать, как этого добиться.
Комментарии:
1. вы
http://
не должны использоватьlb://
.lb
Схема используется только для обнаружения служб, и вы ее не используете.2. @spencergibb — Да, я использую обнаружение служб. На самом деле uri — это «lb:// HOME», который перенаправляется на порт 127.0.0.1: 80
3. Используется зарегистрированный порт. Какие зарегистрированные порты?
Ответ №1:
Измените его на
spring:
cloud:
gateway:
routes:
- id: host_route_en
uri: http://127.0.0.1:80
predicates:
- Host=en.portal.com
- Path=/common/**
- id: host_route_us
uri: http://127.0.0.1:81
predicates:
- Host=us.portal.com
- Path=/common/**
Справочный документ: https://docs.spring.io/spring-cloud-gateway/docs/2.2.5.RELEASE/reference/html/#shortcut-configuration
Комментарии:
1. Это то, что у меня было в конфигурации. Я только что справился с частью этого. извините за мою ошибку.