NGINX - proxy Inverse de multiples API sur des ports différents

J'ai l'API suivante(s):

  1. localhost:300/api/clients/
  2. localhost:400/api/clients/:id/facturation
  3. localhost:500/api/commandes

Je voudrais utiliser NGINX pour les avoir tous courir sous l'emplacement suivant:

localhost:443/api/

Cela semble très difficile à cause des clients qui s'étend sur deux serveurs.

Voici ma tentative a échoué, en commençant par les ordres

server {
    listen 443;
    server_name localhost;

    location /api/orders {
            proxy_pass https://localhost:500/api/orders;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $remote_addr;
    }
}


server {
    listen 443;
    server_name localhost;

    location /api/customers/$id/billing {
            proxy_pass https://localhost:400/api/customers/$id/billing;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $remote_addr;
    }
}

server {
    listen 443;
    server_name localhost;

    location /api/customers {
            proxy_pass https://localhost:300/api/customers;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $remote_addr;
    }
}

Rien de sauter aussi loin que un correctif? Merci!

OriginalL'auteur Proximo | 2016-09-29