worker_processes 5;
error_log /dev/stderr error;
pid /tmp/nginx.pid;
worker_rlimit_nofile 8192;
events {
    worker_connections 4096;
}
http {
    upstream zipkin {
        zone zipkin_zone 64k;
        server worker-address:9411 resolve;
    }
    upstream otlp-grpc {
        zone otlp-grpc_zone 64k;
        server worker-address:4317 resolve;
    }
    upstream otlp-http {
        zone otlp-http_zone 64k;
        server worker-address:4318 resolve;
    }
    upstream jaeger-thrift-http {
        zone jaeger-thrift-http_zone 64k;
        server worker-address:14268 resolve;
    }
    upstream jaeger-grpc {
        zone jaeger-grpc_zone 64k;
        server worker-address:14250 resolve;
    }
    upstream tempo-http {
        zone tempo-http_zone 64k;
        server worker-address:3200 resolve;
    }
    upstream tempo-grpc {
        zone tempo-grpc_zone 64k;
        server worker-address:9096 resolve;
    }
    client_body_temp_path /tmp/client_temp;
    proxy_temp_path /tmp/proxy_temp_path;
    fastcgi_temp_path /tmp/fastcgi_temp;
    uwsgi_temp_path /tmp/uwsgi_temp;
    scgi_temp_path /tmp/scgi_temp;
    default_type application/octet-stream;
    log_format main '$remote_addr - $remote_user [$time_local]  $status "$request" $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"';
    map $status $loggable {
        ~^[23] 0;
        default 1;
    }
    access_log /dev/stderr;
    sendfile on;
    tcp_nopush on;
    resolver 198.18.0.0;
    map $http_x_scope_orgid $ensured_x_scope_orgid {
        default $http_x_scope_orgid;
        '' anonymous;
    }
    proxy_read_timeout 300;
    server {
        listen 9411;
        listen [::]:9411;
        proxy_set_header X-Scope-OrgID $ensured_x_scope_orgid;
        server_name localhost;
        location / {
            set $backend http://zipkin;
            proxy_pass $backend;
            proxy_connect_timeout 5s;
        }
    }
    server {
        listen 4317;
        listen [::]:4317;
        http2 on;
        proxy_set_header X-Scope-OrgID $ensured_x_scope_orgid;
        server_name localhost;
        location / {
            set $backend grpc://otlp-grpc;
            grpc_pass $backend;
            proxy_connect_timeout 5s;
        }
    }
    server {
        listen 4318;
        listen [::]:4318;
        proxy_set_header X-Scope-OrgID $ensured_x_scope_orgid;
        server_name localhost;
        location / {
            set $backend http://otlp-http;
            proxy_pass $backend;
            proxy_connect_timeout 5s;
        }
    }
    server {
        listen 14268;
        listen [::]:14268;
        proxy_set_header X-Scope-OrgID $ensured_x_scope_orgid;
        server_name localhost;
        location / {
            set $backend http://jaeger-thrift-http;
            proxy_pass $backend;
            proxy_connect_timeout 5s;
        }
    }
    server {
        listen 14250;
        listen [::]:14250;
        http2 on;
        proxy_set_header X-Scope-OrgID $ensured_x_scope_orgid;
        server_name localhost;
        location / {
            set $backend grpc://jaeger-grpc;
            grpc_pass $backend;
            proxy_connect_timeout 5s;
        }
    }
    server {
        listen 3200;
        listen [::]:3200;
        proxy_set_header X-Scope-OrgID $ensured_x_scope_orgid;
        server_name localhost;
        location / {
            set $backend http://tempo-http;
            proxy_pass $backend;
            proxy_connect_timeout 5s;
        }
    }
    server {
        listen 9096;
        listen [::]:9096;
        http2 on;
        proxy_set_header X-Scope-OrgID $ensured_x_scope_orgid;
        server_name localhost;
        location / {
            set $backend grpc://tempo-grpc;
            grpc_pass $backend;
            proxy_connect_timeout 5s;
        }
    }
}