Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MicroService Architecture : CORS Configuration results in Access Control Allow Origin header contains multiple values

I am developing a spring boot application. In which it has API-Gateway and three microservices. When I call API from UI it throws an error of CORS.

Error:

Access Control Allow Origin header contains multiple values but only one is allowed

enter image description here

I already configured cors in application.yml in API-Gateway.

spring:
    application:
        name: api-gateway
    cache:
        type: redis
    redis:
        host: 'http://localhost'
        port: 6379
    cloud:
        gateway:
            globalcors:
                corsConfigurations:
                '[/**]':
                allowedOrigins: "*"
                allowedMethods: "*"
                allowedHeaders: "*"
    eureka:
        client:
            eureka-server-d-n-s-name: my.dns
            eureka-service-url-Context: eureka
            fetch-registry: false
            region: ap-south-1b
            register-with-eureka: false
            use-dns-for-fetching-service-urls: true
        datacenter: cloud
    ribbon:
        eureka:
            enabled: false
    server:
        port: 8765
    zuul:
        routes:
            order-service:
                url: 'http://localhost:8088'
            product-service:
                url: 'http://localhost:8084'
            user-service:
                url: 'http://localhost:8082'

Along with that, I have configured CORS in each microservices. Instead of calling API via API-Gateway if I call directly to microservice, it is working fine.

like image 476
Priyank Agrawal Avatar asked Oct 20 '25 10:10

Priyank Agrawal


1 Answers

Access Control Allow Origin header contains multiple values, but only one is allowed suggests that you are sending multiple headers that are not expected.

Here you configured CORS on both API Gateway and each and microservice which is causing the issue, to avoid the issue you may configure the CORS configurations on either only on API Gateway or in each microservice.

like image 173
Romil Patel Avatar answered Oct 22 '25 00:10

Romil Patel



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!