Назад | Перейти на главную страницу

Префиксы http Nginx на вышестоящем сервере

Я пытаюсь использовать nginx для прокси-перехода к двум контейнерам докеров. Вот мой исходный файл conf:

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

Вот что я пытаюсь загрузить:

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

Как только я удалил префиксы http: //, ошибка перестала возникать. Это почему?

Блок восходящего потока - это список серверов с дополнительным пулом состояний и ограничениями на подключение. Протокол, используемый для подключения к этим серверам, должен быть указан в proxy_pass директива.

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

server {

    [ ... ]

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

}

Синтаксис: адрес сервера [параметры]; адрес может быть указан как доменное имя или IP-адрес с необязательным портом, или как путь к сокету домена UNIX, указанный после префикса «unix:». Я думаю, вам стоит взглянуть на "http://nginx.org/en/docs/http/ngx_http_upstream_module.html#upstream".