1.2 KiB
1.2 KiB
Nginx Cache Proxy
An nginx proxy server that caches requests only when explicitly requested via the X-Cache: 1 header.
Quick Start
# Build and run with docker-compose
docker-compose up --build
# Or build with the build script
./build.sh
# Then run the built image
docker run -p 3000:3000 docker.site.quack-lab.dev/nginx-cache-proxy:latest
Configuration
The nginx configuration implements an inverted caching logic:
- Default behavior: Requests are NOT cached
- Cached behavior: Only requests with
X-Cache: 1header are cached
Usage
# Normal request - NOT cached (default)
curl http://localhost:3000/?url=https://api.example.com/data
# Cached request - add the header
curl -H "X-Cache: 1" http://localhost:3000/?url=https://api.example.com/data
Features
- Cache path:
/var/cache/nginx - Cache zone:
api_cache(10MB) - Max cache size: 1GB
- Cache validity: 365 days for 200 responses
- Cache key: Based on scheme, host, URI, and query parameters
- Cache status header:
X-Cache-Statusshows cache hit/miss status
In n8n
Add the X-Cache: 1 header only to requests you want cached. All other requests will bypass the cache completely.