Souin HTTP Cache
Souin HTTP Cache is available in the NetActuate Marketplace as a one-click, open-source appliance you can deploy into any NetActuate PoP. RFC-7234 HTTP caching reverse proxy and origin shield with a REST purge API. It is grouped under the Media & Streaming category.
What It Does
Souin is a lightweight, standards-compliant (RFC-7234) HTTP caching reverse proxy and origin shield written in Go. This appliance runs it in front of your backend origin: Souin caches responses per HTTP cache semantics, serves them close to your users, and absorbs origin load, while giving you a simple REST API to inspect and purge the cache.
Key features
- Standards-compliant RFC-7234 HTTP/HTTPS caching reverse proxy and origin shield
- RFC-compliant Cache-Status response header on every request (MISS / HIT with TTL)
- REST purge and management API: list cached keys and invalidate everything, by URL regex, or by surrogate key
- Edge Side Includes (ESI) support for partial-page caching
- Runs the official, unmodified darkweak/souin container
- Ships with a co-located landing origin serving sample cacheable content so the cache answers HTTP 200 (with Cache-Status) before you wire up an origin
- Simple seeded configuration: one upstream origin and one listen port, no web console to manage
Use cases
- Put a caching origin shield in front of a web app, API, or media origin
- Offload and accelerate a slow or distant backend from a PoP near your users
- Add a regional cache tier with programmatic purge in front of object storage or a packager
Why run it on the NetActuate edge Running Souin in a PoP near your audience serves cacheable content locally, cuts round-trips and egress back to your origin, and keeps a caching tier with a purge API on infrastructure you control.
Deployed from the NetActuate marketplace, Souin boots pre-configured from your seeded values: set the origin host to cache and shield and the reverse-proxy port to listen on. There is no login to configure; the cache answers on the instance IP as soon as the instance is up. Leave the origin blank and the appliance serves a co-located instructions page with sample cacheable content so you can confirm a MISS then a HIT, then point it at your backend.
Vendor and Project
Souin HTTP Cache is an open-source project, offered here under the Open Source listing with best-effort community support.
- Project home: github.com
NetActuate supports the underlying infrastructure. Application-level support follows the listing SLA class (open-source, best effort).
Sizing
| vCPU | RAM | Disk | |
|---|---|---|---|
| Minimum | 1 | 2 GB | 20 GB |
| Recommended | 2 | 4 GB | 50 GB |
No VPU (hardware acceleration) is required for this appliance. Choose a size at deploy based on your expected load.
Configuration Fields
When you deploy, you provide these fields. They are written into the appliance at first boot.
| Field | Required | Default | Notes |
|---|---|---|---|
| Upstream origin host | No | none | The backend origin to cache and shield, as host or host:port (e.g. origin.example.com or 10.0.0.10:8080). Leave blank to serve the built-in landing/instructions page with sample cacheable content until you wire up an origin. |
| Reverse-proxy port | No | 80 | Port the cache listens on, published on the instance IP (default 80). |
Using the Appliance
Shield your origin in minutes
- Confirm the cache is up. Browse to http://YOUR_VM_IP:80/ . Before an origin is set you will see the built-in landing page (HTTP 200) served with a Cache-Status header; reload once and it becomes a HIT, confirming Souin is caching.
- Set your origin. Set the mkt_origin_host seed field to your backend (for example origin.example.com or 10.0.0.10:8080) and, if you want a different listen port, mkt_proxy_port (default 80).
- Serve through the cache. Requests to http://YOUR_VM_IP:80/ are now served from, and cached in front of, your origin.
- Purge over REST. List cached keys with
curl http://YOUR_VM_IP:80/souin-api/souin, purge everything withcurl -X PURGE http://YOUR_VM_IP:80/souin-api/souin/flush, or purge by URL regex withcurl -X PURGE http://YOUR_VM_IP:80/souin-api/souin/<regex>.
Exposure posture: the appliance serves plain HTTP on the reverse-proxy port and the purge API is unauthenticated on the instance. Put a TLS-terminating proxy and access control in front (and gate /souin-api) before exposing it on an untrusted network.
FAQ
Is there a software license fee? No. Souin HTTP Cache is open source and free to run. You pay only for the NetActuate infrastructure and bandwidth.
Which port does the appliance serve on?
The primary service is published on port 80 by default; see the configuration fields for any adjustable ports.
Who supports it? NetActuate operates the underlying infrastructure. The application itself is community-supported open source (best-effort SLA class).
Version and Changelog
| Version | Status | Released |
|---|---|---|
| 1.7.8 | Current (default) | 2026-07-14 |
Deploy
- Deploy in the portal: Deploy Souin HTTP Cache
- View the listing: portal.netactuate.com/platform/marketplace/l/souin
- Public listing: netactuate.com/marketplace/souin
Need Help?
Contact support@netactuate.com or open a support ticket from the portal.