Files
nginx-cache/README.md

46 lines
1.2 KiB
Markdown

# Nginx Cache Proxy
An nginx proxy server that caches requests only when explicitly requested via the `X-Cache: 1` header.
## Quick Start
```bash
# 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: 1` header are cached
## Usage
```bash
# 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-Status` shows 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.