流块内的nginx server_name可能吗?

时间:2017-07-21 01:18:17

标签: nginx proxy stream reverse

当前设置如下:

stream {
    server {
        listen 9987 udp;

        server_name  subdomain.EXAMPLE.com; # this line is resulting in an error

        proxy_pass localhost:9987;
        proxy_timeout 1s;
        proxy_responses 1;
        error_log logs/dns.log;
    }
}

server_name subdomain.EXAMPLE.com;

这可能吗?

$nginx -t

$nginx: [emerg] "server_name" directive is not allowed here in /etc/nginx/nginx.conf:15

没有server_name就可以正常工作,但我想尽可能使用子域。 (我正在使用带有 - with-stream 的构建,这不是我的问题。)

1 个答案:

答案 0 :(得分:6)

  

TCP没有服务器名称的概念,因此这是不可能的。它只能起作用   在HTTP中,因为客户端发送它尝试访问的主机名   请求的一部分,允许nginx将其与特定服务器块匹配。

来源:https://forum.nginx.org/read.php?2,263208,263217#msg-263217