Spring-cloud-gateway Docker -составить - PullRequest
1 голос
/ 17 февраля 2020

Моя цель - внедрить Spring-cloud-Gateway в качестве обратного прокси-сервера, который я планирую использовать в качестве обратного прокси-сервера в тандеме с Keycloak для обеспечения безопасности микросервисов. Проблема, с которой я сталкиваюсь в настоящее время:

  • Запустите микросервис в docker без Spring-cloud-gateway
  • Запустите Spring-cloud-gateway с настройками по умолчанию и одним Маршрут для перенаправления на микросервис, который существует внутри Docker

. Это работает как задумано и перенаправляет на микросервис при использовании localhost: 8080. Затем, когда я включаю шлюз в мой Docker -компонент и собираю контейнер, он говорит: «Этот сайт недоступен», но все другие службы внутри контейнера доступны через их порты. Мне нужна помощь в определении причин, по которым это происходит, и я подозреваю, что это из-за моего файла docker -compose.yml. Вот оно:

version: "3"
services:
  react-web:
    container_name: react-auth-demo
    build: "./ReactJS-Auth/"
    volumes:
      - "./app"
      - "/app/node_modules"
    ports:
      - 3000:3000
    environment:
      - NODE_ENV=development
      - CHOKIDAR_USEPOLLING=true
    networks:
      - demo-network
    depends_on:
      - spring-cloud-gateway

  keycloak:
    image: jboss/keycloak:8.0.1
    container_name: keycloak-service
    volumes:
      - //c/tmp:/tmp
    ports:
      - 8180:8080
    environment:
      - KEYCLOAK_PASSWORD=admin
      - KEYCLOAK_USER=admin
    networks:
      - demo-network
    depends_on:
      - spring-cloud-gateway

  spring-cloud-gateway:
    build: ./gateway-test
    container_name: gateway-test
    ports:
      - 6000:6000
    networks:
      - demo-network

networks:
  demo-network:
    driver: bridge

Вот код шлюза:

@Bean
public RouteLocator customRouteLocator(RouteLocatorBuilder builder){
    return builder.routes()
            .route("1", r -> r
                    .path("/**")
                    .uri("http://192.168.99.100:3000/"))
            .build();
}

Запрос выглядит следующим образом: http://192.168.99.100: 6000 / это должно перенаправить меня на веб-службу реагировать.

И, наконец, вот ссылка на исходный код: https://gitlab.com/LibreFoodPantry/modules/usermodule-bnm/Demo

Этот проект предназначен для самостоятельного обучения в колледже. Поэтому вся помощь и советы очень ценятся, даже если они не связаны с рассматриваемой проблемой. Спасибо.

...