Nginx-HTTP-Präfixe im Upstream-Server

12

Ich versuche, Nginx zu verwenden, um Proxy-Übergabe an zwei Docker-Container. Hier ist meine vorgelagerte Conf-Datei:

upstream api_servers {
  server http://192.168.49.4:49155;
  server http://192.168.49.4:49156;
}

Folgendes versuche ich zu laden:

nginx: [emerg] invalid host in upstream "http://192.168.49.4:49155" in /etc/nginx/conf.d/api_upstream.conf:3
nginx: configuration file /etc/nginx/nginx.conf test failed

Nachdem ich die http: // Präfixe entfernt hatte, trat der Fehler nicht mehr auf. Warum das?

user2108258
quelle

Antworten:

15

Der Upstream-Block ist eine Liste von Servern mit optionalem Status-Pooling und Verbindungseinschränkungen. Das Protokoll, mit dem diese Server verbunden werden, muss in der proxy_passDirektive angegeben werden.

upstream api_servers {
    server 192.168.49.4:49155;
    server 192.168.49.4:49156;
}

server {

    [ ... ]

    location /foo/ {
        proxy_pass http://api_servers/;
    }

}
Xavier Lucas
quelle
2

Syntax: Serveradresse [Parameter]; Die Adresse kann als Domänenname oder IP-Adresse mit optionalem Port oder als UNIX-Domänen-Socket-Pfad nach dem Präfix „Unix:“ angegeben werden. Ich denke, Sie sollten sich " http://nginx.org/en/docs/http/ngx_http_upstream_module.html#upstream " anschauen .

xiaopihai
quelle