現在の設定は次のとおりです。
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でビルドを使用していますが、それは私の問題ではありません。)
TCPにはサーバー名の概念がないため、これは不可能です。クライアントがアクセスしようとしているホスト名をリクエストの一部として送信し、nginxがそれを特定のサーバーブロックに一致させることができるため、HTTPでのみ機能します。
ソース: https://forum.nginx.org/read.php?2,263208,263217#msg-263217