error_log stderr; pid /var/run/nginx.pid; events { } stream { resolver 127.0.0.11 ipv6=off; #docker dns server map_hash_bucket_size 64; map $ssl_preread_server_name $internalport { # redirect all requests, which contain "mq" in the SNI -> MQTT ~^.*(mq).*\.eco(vacs|user)\.(net|com)$ 8883; # the rest of eco(user|vacs) requests ~^.*eco(vacs|user)\.(net|com)$ 443; # mapping default to MQTT as the bots are connecting directly to the ip without SNI default 8883; } server { listen 443; ssl_preread on; proxy_pass bumper:$internalport; } server { listen 5223; proxy_pass bumper:5223; } server { listen 8007; proxy_pass bumper:8007; } server { listen 8883; proxy_pass bumper:8883; } }