worker_processes auto; error_log /dev/stderr warn; pid /tmp/nginx.pid; worker_rlimit_nofile 8192; events { worker_connections 1024; } http { access_log /dev/stdout; client_max_body_size 100M; # ── Status dashboard at / ────────────────────────────────────────────────── server { listen 7860; # ── Root → HTML dashboard ────────────────────────────────────────────── location = / { default_type text/html; return 200 ' Redpanda

🔴 Redpanda Broker

All services accessible via path-based routing on this port

Kafka REST Proxy

/kafka/
Produce & consume over HTTP

Admin API

/admin/
Cluster management & metrics

Schema Registry

/schema/
Avro / Protobuf schemas

Health

/health
Broker ready check
ActionMethodPath
List topicsGET/admin/v1/topics
Produce messagesPOST/kafka/topics/{topic}
Create consumerPOST/kafka/consumers/{group}
Subscribe consumerPOST/kafka/consumers/{group}/instances/{id}/subscription
Consume recordsGET/kafka/consumers/{group}/instances/{id}/records
List schemasGET/schema/subjects
Cluster healthGET/health
'; } # ── /health → Redpanda ready check ──────────────────────────────────── location = /health { proxy_pass http://127.0.0.1:9644/v1/status/ready; proxy_set_header Host $host; } # ── /kafka/ → Pandaproxy HTTP REST (port 8082) ──────────────────────── location /kafka/ { rewrite ^/kafka/(.*) /$1 break; proxy_pass http://127.0.0.1:8082; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_read_timeout 120s; proxy_buffering off; } # ── /admin/ → Redpanda Admin API (port 9644) ────────────────────────── location /admin/ { rewrite ^/admin/(.*) /$1 break; proxy_pass http://127.0.0.1:9644; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_read_timeout 120s; } # ── /schema/ → Schema Registry (port 8081) ──────────────────────────── location /schema/ { rewrite ^/schema/(.*) /$1 break; proxy_pass http://127.0.0.1:8081; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_read_timeout 60s; } } }