Настройка шлюза Spring Cloud с несколькими виртуальными хостами

#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. Это то, что у меня было в конфигурации. Я только что справился с частью этого. извините за мою ошибку.