server_name within tcp server blocks

Richard Stanway r1ch+nginx at teamliquid.net
Wed Dec 2 18:16:09 UTC 2015


TCP has no concept of server names, so this is not possible. It only works
in HTTP because the client sends the hostname it is trying to access as
part of the request, allowing nginx to match it to a specific server block.

On Wed, Dec 2, 2015 at 12:31 PM, Charles Nnamdi Akalugwu <
cprenzberg at gmail.com> wrote:

> Hi guys,
>
> I have the following tcp server block in my nginx.conf
>
> stream {
>     upstream kafka_producer {
>
>         server kafka.service.consul:9092;
>     }
>
>     server {
>         listen 9092;
>         server_name kafka.stream.mycompany.com;
>         proxy_connect_timeout 10s;
>         proxy_timeout 30s;
>         proxy_pass kafka_producer;
>     }
> }
>
> I would like that my kafka tcp stream is accessible using only the
> kafka.stream.mycompany.com:9092 address....just in the same way that it
> works with http server blocks.
>
> However I get the following error regarding the server_name:
>
> *"server_name" directive is not allowed here in /etc/nginx/nginx.conf*
>
> So who knows how I can simulate server_name within tcp server blocks?
>
> Thanks!
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20151202/56bb524d/attachment.html>


More information about the nginx mailing list