Learn how Gunicorn serves Python web applications with managed worker processes, and why worker configuration and application dependencies matter in production.
Updated 8 September 2026What Gunicorn does
Gunicorn is a Python application server known for serving WSGI applications. It uses a process manager and worker processes to handle requests. The application framework supplies the website’s behaviour; Gunicorn supplies the server execution layer.
For example, a Django project may use Gunicorn to run the application while another proxy handles the public connection. The framework, application server and proxy are separate components even when they are deployed together.
The worker process model
Gunicorn’s pre-fork design uses an arbiter to manage workers. Worker types provide different approaches to request handling, so configuration needs to match the runtime and workload. Current documentation also describes an ASGI worker for asynchronous applications.
A slow external API call and a CPU-heavy calculation place different demands on workers. Adding processes without measuring memory use and downstream capacity can move a bottleneck instead of resolving it.
What to check in production
Test timeouts, graceful shutdown and behaviour under concurrent requests. A server handling one local request successfully does not establish that it will behave well during a deployment or traffic spike.
Correlate proxy errors with application-server logs. A gateway timeout may reflect slow application work, exhausted workers or an unavailable dependency; the Gunicorn name alone does not identify the cause.
How DNSTrace.dev detects Gunicorn
Detection reads the final HTTPS response and the first bytes of its markup. One matching signal is reported as strong evidence; two or more independent signals are reported as confirmed.
server header naming gunicorn— Emitted by Gunicorn unless a proxy in front replaces the header.
What a detection proves
A Python WSGI application served the response through Gunicorn.
What it does not prove
Which framework runs on it. Django and Flask are both common, and neither is identified by this signal alone.
Common questions about Gunicorn
Is Gunicorn a framework like Django?
No. Gunicorn is an application server that runs compatible Python applications. Django defines application behaviour at a higher layer, and the two can be used together.
Why is the framework not named?
Gunicorn runs the application; the framework does not usually add a header of its own.
Does a proxy hide it?
Often. Nginx or a CDN in front commonly replaces the server header.
Related platforms and technologies
Open source, Django Software Foundation
Server languageOpen source, the PHP Group
Application runtimeVarious, Jakarta EE standard
Elixir application frameworkOpen source
Check a domain
Run a full lookup to see the delivery layer, the detected application stack, live TLS and the announcing network side by side.
