No se puede acceder al host mientras se conecta en sentido ascendente desde el contenedor Node Docker

No se puede acceder al host mientras se conecta en sentido ascendente desde el contenedor Node Docker

Tengo una API backend.mysite.localy puedo acceder a ella directamente desde el navegador. Pero cuando intento llamar a la API desde el contenedor Node, aparece 502 Bad Gateway con el siguiente error:

connect() falló (113: El host es inaccesible) al conectarse al flujo ascendente, cliente: 172.20.0.1, servidor:www.misitio.local, solicitud: "GET /api/items HTTP/1.1", ascendente: "http://172.20.0.3:3000/api/items", host: "www.mysite.local"

Esta es mi configuración de nginx (soy nuevo en nginx, así que podría hacerlo de una manera más breve, pero en su mayoría son bloques para la redirección del puerto 80 al puerto 443, por lo que le agradecería que también la revise)

server {
    listen 443 ssl;
    server_name backend.mysite.local;
    ssl_certificate /etc/ssl/mysite.local.crt;
    ssl_certificate_key /etc/ssl/mysite.local.key;
    
    index index.php index.html;
    server_name backend.mysite.local;
    error_log /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    root /var/www/html/public;
    
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    
    location ~ \.php$ {        
        try_files $uri = 404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;

        
        set $METHODS  'GET, POST, OPTIONS, HEAD';
        set $HEADERS  'Authorization, Origin, X-Requested-With, Content-Type, Accept';
        
        
        if ( $request_method = POST ){
          add_header 'Access-Control-Allow-Origin' 'https://www.mysite.local';
          add_header 'Access-Control-Allow-Credentials' 'true';
        }

    }
    
}

server {
    listen 80;
    server_name http.backend.mysite.local;
    return 301 https://backend.mysite.local$request_uri;

}

server {
    listen 80;
    server_name nginx;
    return 301 https://backend.mysite.local$request_uri;

}



server {
    listen 80;
    server_name www.mysite.local;
    return 301 https://www.mysite.local$request_uri;
}

server {
    listen 80;
    server_name mysite.local;
    return 301 https://www.mysite.local$request_uri;
}

server {
    listen 443 ssl;
    server_name mysite.local;
    ssl_certificate /etc/ssl/mysite.local.crt;
    ssl_certificate_key /etc/ssl/mysite.local.key;
    return 301 https://www.mysite.local$request_uri;
}


  server {   
    listen 443 ssl;
    server_name www.mysite.local;     
    ssl_certificate /etc/ssl/mysite.local.crt;
    ssl_certificate_key /etc/ssl/mysite.local.key;
    

     location / {      
     proxy_pass      http://node:3000;
      
    }
  }

Editar: Esto es docker-compose.yml:

networks:
    mysite:
        driver: bridge

services:
    nginx:
        image: nginx:stable-alpine
        container_name: nginx
        ports:
            - "8088:8088"
            - "80:80"  
            - "443:443"          
   
        networks:
            - mysite                

    php:        
        build:
            context: ./laravel
            dockerfile: Dockerfile
        container_name: php
        ports:
            - "9000:9000"
        networks:
            - mysite

    node:
        build:
            context: ./react
            dockerfile: Dockerfile
        container_name: react
        
        ports:
            - "3000:3000"       

información relacionada