Я пытаюсь использовать 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".