Nginx http prefixes in upstream server

28,989

Solution 1

The upstream block is a list of servers with optional status pooling and connection restrictions. The protocol used to join theses servers must be specified in the proxy_pass directive.

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

server {

    [ ... ]

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

}

Solution 2

Syntax: server address [parameters];The address can be specified as a domain name or IP address, with an optional port, or as a UNIX-domain socket path specified after the “unix:” prefix. I think you should like to look at "http://nginx.org/en/docs/http/ngx_http_upstream_module.html#upstream".

Share:
28,989

Related videos on Youtube

user2108258
Author by

user2108258

Updated on September 18, 2022

Comments

  • user2108258
    user2108258 over 1 year

    I'm trying to use nginx to proxy pass to two docker containers. Here is my upstream conf file:

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

    This is what I get trying to load it:

    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
    

    Once I removed the http:// prefixes the error stopped occuring. Why is that?