Error occurred while proxying request localhost:8080/create to http://localhost:8081/

23 Views Asked by At

I have a microservices project running on Docker. It works locally without any problems. However, when it runs on Docker, I cannot access other services via api-gateway.

I have no problems connecting to individual services. However, I get the following error when connecting via the gateway:

api-gateway-1 | [HPM] Error occurred while proxying request localhost:8080/create to http://localhost:8081/ [ECONNREFUSED] (https://nodejs.org/api/errors.html#errors_common_system_errors)

api-gateway

const express = require('express');
const { createProxyMiddleware } = require('http-proxy-middleware');

const app = express();
const port = process.env.PORT || 8080;


// customer-service
app.use('/customer', createProxyMiddleware({
    target: 'http://localhost:8081',
    pathRewrite: {
        '^/customer': ''
    }
}));



// product-service
app.use('/product', createProxyMiddleware({
    target: 'http://127.0.0.1:8082',
    pathRewrite: {
        '^/product': ''
    }
}));


// order-service
app.use('/order', createProxyMiddleware({
    target: 'tesodevNet:8083',
    pathRewrite: {
        '^/order': ''
    }
}));




app.listen(port, () => {
    console.log(`Api-gateway started on port: ${port}`);
});

docker-compose.yml

version: '3.2'

services:

#customer
  customer:
    build: ./customer
    ports:
      - '8081:8081'
    depends_on:
      - mongoDB
    networks:
      - tesodevNet
    


#order
  order:
    build: ./order
    ports:
      - '8083:8083'
    depends_on:
      - mongoDB
      - rabbitMQ
    networks:
      - tesodevNet


#product
  product:
    build: ./product
    ports:
      - '8082:8082'
    depends_on:
      - mongoDB
      - rabbitMQ
    networks:
      - tesodevNet


#api-gateway
  api-gateway:
    build: ./api-gateway
    ports:
      - '8080:8080'
    depends_on:
      - mongoDB
    networks:
      - tesodevNet


#mongodb
  mongoDB:
    image: mongo:latest
    restart: always
    ports:
      - 2720:27017
    volumes:
      - mongo_db:/data/db
    networks:
      - tesodevNet


#rabbitmq
  rabbitMQ:
    image: rabbitmq:3.8-management-alpine
    container_name: 'rabbitMQ'
    ports:
      - 5673:5672
      - 15673:15672
    volumes:
      - ~/.docker-conf/rabbitmq/data/:/var/lib/rabbitmq/
      - ~/.docker-conf/rabbitmq/log/:/var/log/rabbitmq
    networks:
      - tesodevNet


networks:
  tesodevNet:
volumes:
  mongo_db: {}

I have no problems connecting to the services separately. For example, localhost:8081/create works for the customer service. But when connecting via api-gateway, I get this error when connecting to customer service.

0

There are 0 best solutions below