Моя цель - внедрить 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
Этот проект предназначен для самостоятельного обучения в колледже. Поэтому вся помощь и советы очень ценятся, даже если они не связаны с рассматриваемой проблемой. Спасибо.