nginx: [Emerg] директива stream здесь не разрешена

У меня установлена ​​последняя версия NGINX от ppa на Ubuntu 16.04.

Версия nginx: nginx / 1.12.1

Насколько я понимаю, он должен поддерживать балансировку нагрузки потоков и UDP.

Но я получаю следующее сообщение об ошибке:

nginx: [emerg] "stream" directive is not allowed here in /etc/nginx/conf.d/load-balancer.conf:3

Это моя конфигурация в /etc/nginx/conf.d/load-balancer.conf

stream {
        upstream backend {
                least_conn;
                server 172.31.9.51 fail_timeout=10s;
                server 172.31.20.140 fail_timeout=10s;
        }

        server {
                listen          500 udp;
                listen          4500 udp;
                proxy_pass      backend;
                proxy_timeout   1s;
                proxy_responses 1;
                error_log       logs/dns.log;
        }
}
7
задан 12 November 2017 в 19:07
1 ответ

поток должен быть на том же уровне, что и блок http, например

http { foo }
stream { bar }

Я предполагаю, что вы включаете для /etc/nginx/conf.d / *. Conf находится в блоке http {} , а не за его пределами. Загляните в /etc/nginx/nginx.conf для включения и, возможно, вам придется создать новый для секции потока

16
ответ дан 2 December 2019 в 23:20

Теги

Похожие вопросы