Port 8100 serves /status and /metrics without exposing any configuration. It is what a load balancer or Kubernetes probe should call.
# kong.conf
status_listen = 0.0.0.0:8100
curl http://localhost:8100/status
# Kubernetes
livenessProbe:
httpGet: { path: /status, port: 8100 }
initialDelaySeconds: 10
readinessProbe:
httpGet: { path: /status/ready, port: 8100 }
{
"database": {"reachable": true},
"memory": {"lua_shared_dicts": {...}},
"server": {"connections_active": 42, "connections_handled": 918204}
}
# /status/ready returns 503 until the configuration is loaded, which is what
# stops traffic arriving at a node that has not finished starting.
#
# Pointing a probe at 8001 works and quietly requires the Admin API to be
# reachable from the load balancer - which is exactly what it should not be.
Run this yourself in the Online Java Compiler, spin up a live REST API in the API Sandbox, or practise with Java interview questions.
Published 2026-08-25