Image Redirect
Offload /images/* traffic to a separate host via 302 redirect
The Image URL setting under General Settings lets you bounce any
request whose path starts with /images/ off to a different host —
typically a CDN or dedicated image server — so those bytes never hit
your proxy or backend.
How it works
When image_url is set, the proxy intercepts matching requests before
firewall checks, geo/ASN rules, or URL replacements, and responds with a
302 Found redirect. The client's browser (or HTTP client) follows the
redirect and fetches directly from the image host.
Config: image_url = "https://cdn.example.com"
Request: GET /images/logos/acme.png
Response: 302 Found
Location: https://cdn.example.com/images/logos/acme.pngThe full path (including /images/ prefix) is appended to the
configured URL. Trailing slashes on image_url are trimmed, so
https://cdn.example.com and https://cdn.example.com/ behave
identically.
When to use it
- Offload static image traffic from the proxy VPS to a CDN
- Serve user-uploaded images from object storage (R2, S3) without proxying every byte
- Split image hosting onto a cheaper or geographically closer host
When it doesn't apply
- Leave
image_urlempty to disable —/images/*requests then flow through the normal proxy pipeline to the port's backend. - The rule only matches the
/images/path prefix. Images served under/assets/,/media/,/static/, or similar paths are not redirected by this setting. - This is a browser redirect, not a reverse-proxy pass-through. Clients
that don't follow redirects will see the
302and fail.
Interaction with other rules
Image redirect runs before every other proxy rule, so:
- Geo blocking does not apply to redirected image requests.
- Firewall rate limits do not count redirected image requests.
- URL and ASN replacements are not evaluated for matching paths.
If you need firewall or geo rules to apply to image traffic, leave
image_url empty and let the request flow through the proxy normally.