web-dev-qa-db-ja.com

nginx:[emerg] "stream"ディレクティブはここでは許可されていません

Ubuntu 16.04にインストールされているppaの最新のNGINXを持っています。

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

ストリームは、httpブロックと同じレベルにする必要があります。

http { foo }
stream { bar }

私の推測では、/etc/nginx/conf.d/*.confのインクルードはhttp {}ブロック内にあり、その外ではありません。 /etc/nginx/nginx.confのインクルードをチェックアウトしてください。ストリームセクション用に新しいものを作成する必要があるかもしれません

19
Mike