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

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;
        }
}

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

http { foo }
stream { bar }

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