NGINX - Reverse-proxy mehrere API auf verschiedenen ports
Habe ich folgende API(s):
- localhost:300/api/customers/
- localhost:400/api/customers/:id/Abrechnung
- localhost:500/api/orders
Möchte ich NGINX, um Sie alle laufen unter dem folgenden Pfad:
localhost:443/api/
Scheint dies sehr schwierig, da die Kunden aus zwei Servern.
Hier ist mein gescheiterter Versuch, beginnend mit der Bestellungen
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;
}
}
Etwas springen so weit wie ein Update? Danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die drei Dienste werden umgeleitet, die von dem gleichen server (soweit
nginx
betroffen ist) so strukturiert sein müssen, als dreilocation
Blöcke innerhalb einesserver
block. Sehen dieses Dokument für details.Wenn Sie nur auf der Durchreise zu den original-URI unverändert, brauchen Sie nicht zu geben Sie eine URI, die auf die
proxy_pass
- Anweisung.Wenn die
proxy_set_header
Aussagen sind identisch, Sie können einmal angegeben werden, in der übergeordneten block.Den Typ der
location
- Anweisung erforderlich ist, ist abhängig von der Auswahl der URIs verarbeitet derlocalhost:300/api/customers/
service. Wenn es eine URI, die=
- syntax arbeiten. Wenn es irgendein URI, der nicht mit/api/customers/:id/billing
sind, dann müssen Sie einen regulären Ausdruck zu verwenden location-block. Sehen dieses Dokument für details.Ich bin nicht sicher, ob dies funktionieren wird, es sei denn, Sie kündigen SSL hier. Das ist, konfigurieren Sie die reverse proxy als secure server.