Мое приложение основано на микросервисной архитектуре, все работают в док-контейнерах с Traefik в качестве обратного прокси-сервера.Когда я пытаюсь запросить микросервис, URL-адрес запроса добавляется: 80 добавлено (https://example.com:80/myService).
Когда я нажимаю кнопку «Попробуйте!», я получаю пустое тело ответа и 0 в качестве кода ответа.
Если я запрашиваю без traefik в качестве обратного прокси-сервера, он работает хорошо, например: http://hostname:8080/myService.
Может ли кто-нибудь мне помочь, Нужно ли добавить метку для traefik на уровне обслуживания докера без изменения кода.Также, если должны быть изменения в документах Swagger, какие изменения я должен сделать?
Ниже приведен файл стека докеров для справки.
gateway-app:
image: "gateway-app-image"
environment:
- SPRING_PROFILES_ACTIVE=
- SPRING_CLOUD_CONFIG_URI=
- SPRING_DATASOURCE_URL=
- SPRING_DATA_CASSANDRA_CONTACTPOINTS=
- JHIPSTER_SLEEP=
- JHIPSTER_LOGGING_LOGSTASH_HOST=
- JHIPSTER_LOGGING_LOGSTASH_PORT=
- SPRING_DATA_ELASTICSEARCH_CLUSTER-NAME=
- SPRING_DATA_ELASTICSEARCH_CLUSTER_NODES=
- SPRING_CLOUD_STREAM_KAFKA_BINDER_BROKERS=
- SPRING_CLOUD_STREAM_KAFKA_BINDER_ZK_NODES=zookeeper
- EUREKA_CLIENT_SERVICEURL_DEFAULTZONE=
networks:
- traefik_proxy
#ports:
# - 8080:8080
logging:
driver: "json-file"
options:
max-size: "100m" # The maximum size of the log before it is rolled
max-file: "10" # The maximum number of log files that can be present
deploy:
labels:
- "traefik.port=8080"
- "traefik.backend=gateway-app"
- "traefik.docker.network=traefik_proxy"
- "traefik.frontend.rule=Host:example.com"
- "traefik.frontend.headers.SSLRedirect=true"
- "traefik.enable=true"
replicas: 1
update_config:
parallelism: 2
delay: 10s
restart_policy:
condition: on-failure