Files
nginx-cache/README.md
2026-01-07 20:32:07 +01:00

1.1 KiB

Nginx Cache Proxy

An nginx proxy server that caches requests only when explicitly requested via the X-Cache: 1 header.

Quick Start

# Build the image
./build.sh

# Run with docker-compose (uses the built image)
docker-compose up

# Or run directly
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

# Proxy a URL
curl "http://localhost:3000/?url=https://api.example.com/data"

# Enable caching with X-Cache 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 status header: X-Cache-Status shows cache hit/miss status
  • HTTPS support with proper SSL/TLS headers

In n8n

Add the X-Cache: 1 header only to requests you want cached. All other requests will bypass the cache completely.