Ошибка перекрестного происхождения с контейнерами Docker - PullRequest
0 голосов
/ 17 сентября 2018

Я создаю приложение с помощью Microservices локально, а затем на док-контейнерах. В настоящее время у меня есть Eureka, Zuul с Spring Security, Microservice с использованием Spring boot 2 и клиент Angular 6

Я настроил Spring Security наZuul для управления безопасностью и CORS , расширяющий класс "WebSecurityConfigurerAdapter", переопределяющий метод "configure", ... Локально Работает отлично.Мой клиент (http://localhost:4200) имеет доступ к API через Zuul (http://localhost:8762/microservice/api/...),, добавляющий базовый заголовок аутентификации с помощью OPTION.

Но с контейнерами Docker, созданными с помощью Docker Compose, это не то же самое.Chrome генерирует «Неизвестное исключение», в то время как Firefox указывает на ошибку перекрестного источника во время запроса OPTION. API вызываются клиентом через Zuul, например: http://gdt -gateway-proxy-service: 8762 / microservice / api / ...

Это часть моего файла docker-compose.yml, касающегося клиента (gdt-client) и Zuul (gdt-gateway-proxy-service):

version: '2'
services:

    ...

    gdt-gateway-proxy-service:
        container_name: alpine-jdk8-gdt-gateway-proxy-service
        build:
            context: .
            dockerfile: Dockerfile.gdt-gateway-proxy-service
        image: alpine-jdk8-gdt-gateway-proxy-service:latest

        ...

        expose:
            - 8762
        ports:
            - 8762:8762
        networks:
            - gdt-network


    ...


    gdt-client:
        container_name: alpine-httpd-gdt-client
        build:
            context: .
            dockerfile: Dockerfile.alpine.httpd-gdt-client
        image: alpine-httpd-gdt-client:base
        expose:
            - 4200
        ports:
            - 4200:80
        networks:
            - gdt-network
        links:
            - gdt-gateway-proxy-service:gdt-gateway-proxy-service
        depends_on:
            - gdt-gateway-proxy-service
        logging:
            driver: json-file
networks:
    gdt-network:
        driver: bridge

Я новичок в докере. Я должен был что-то забыть. Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 21 сентября 2018

Я решил свою проблему, добавив аннотацию @CrossOrigin над моими контроллерами. Это не требовалось локально.

...