Files
nginx-cache/README.md

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: 1 header 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-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.