web-dev-qa-db-fra.com

nginx: [Emerg] la directive "stream" n'est pas autorisée ici

J'ai le dernier NGINX de ppa installé sur Ubuntu 16.04.

version nginx: nginx/1.12.1

D'après ma compréhension, il devrait prendre en charge l'équilibrage de charge UDP et de flux.

Mais je reçois ce message d'erreur:

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

Ceci est ma configuration dans /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;
        }
}
10
Houman

le flux doit être au même niveau que le bloc http, comme

http { foo }
stream { bar }

Je suppose que c'est votre inclusion pour /etc/nginx/conf.d/*.conf est situé dans le http {} bloquer et non en dehors. Consultez le fichier /etc/nginx/nginx.conf pour l'inclure et vous devrez peut-être en créer un nouveau pour la section de flux

19
Mike