ARC2 Proxy
Knowledge base · 58 settings · 73 articles

Documentation

Every setting, option, performance note and scenario for ARC2 Proxy — searchable and cross-referenced.

/

Showing all 73 articles

Getting started Guide

What is ARC2 Proxy?

A blazing-fast global reverse proxy: edge caching, automatic TLS, load balancing and a built-in WAF.

Getting started Guide

Add your first domain

Point DNS at the edge with a CNAME, then watch the certificate provision automatically.

Getting started Guide

How configuration is resolved

Defaults, the config file and the per-domain rules — and which one wins.

Caching Guide

How edge caching works

Hit/miss, freshness, query strings and the difference between domain and path lifetimes.

Caching Global · server

add_caching

Master switch for the edge cache across the whole proxy.

boolean default true
Caching Per-domain rule

max_age_seconds

Default cache lifetime for everything served under this domain.

integer · seconds
Caching Per-domain rule

ignore_query_string

Treat URLs that differ only by query string as the same cache entry.

boolean default true
Caching Per-domain rule

paths

Restrict a rule so it only applies to specific URL paths.

list of strings
Caching Per-domain rule

path_rules

Per-path overrides of cache lifetime and allow/deny behaviour.

list of path rules
Caching Path rule

path

The URL path a path rule matches against.

string
Caching Path rule

match_type

How a path or user-agent string is compared: Equals, StartsWith, Contains, …

enum
Caching Guide

Purging the cache

Invalidate stale entries by exact URL, prefix, substring or whole domain.

TLS & HTTPS Guide

Automatic TLS & HTTPS

Free Let's Encrypt certificates, automatic renewal, OCSP stapling and the version floor.

TLS & HTTPS Global · server

proxy_min_tls_version

Minimum TLS version the proxy will negotiate with clients.

enum default TLS_1_3
TLS & HTTPS Global · server

lets_encrypt_contact_email

Contact address registered with the ACME account for certificate notices.

string (email)
TLS & HTTPS Per-domain rule

redirect_to_https

Send plain-HTTP visitors a redirect to the HTTPS URL.

boolean default false
TLS & HTTPS Routing rule

https_only

Restrict load-balanced backends to their HTTPS ports only.

boolean default false
Load balancing Guide

Load balancing & routing

Priority, weighted and performance routing across multiple backends with health checks.

Load balancing Per-domain rule

routing_rules

Enable multi-backend load balancing for the domain.

routing rule object
Load balancing Routing rule

routing_method

How requests are distributed: Priority, Weighted or Performance.

enum default Priority
Load balancing Routing rule

routing_locations

The backend pool — each entry is one upstream target.

list of routing locations
Load balancing Routing location

primary

Marks a backend as the preferred primary in the pool.

boolean
Load balancing Routing location

priority

Ordering/weight of a backend within the pool.

integer
Load balancing Routing rule

enable_health_checks

Actively probe backends and remove unhealthy ones from rotation.

boolean default false
Load balancing Routing rule

health_check_interval

How often each backend is probed.

integer · seconds
Load balancing Routing rule

health_check_path

The URL path probed to decide backend health.

string (path)
Load balancing Per-domain rule

forward_addr

Forward to a backend by hostname.

string (host)
Load balancing Per-domain rule

forward_ipv4

Forward to a backend by IPv4 address.

string (IPv4)
Load balancing Per-domain rule

forward_ipv6

Forward to a backend by IPv6 address.

string (IPv6)
Load balancing Per-domain rule

forward_port_http

Origin port used for plain-HTTP upstream connections.

integer · port
Load balancing Per-domain rule

forward_port_https

Origin port used for HTTPS upstream connections.

integer · port
Security & WAF Guide

Security & the WAF

SQL-injection screening, user-agent blocking, allow/deny rules and rate limiting.

Security & WAF Global · server

add_sql_injection_protection

Global master switch for SQL-injection screening.

boolean default false
Security & WAF Per-domain rule

enable_sql_injection_protection

Screen this domain's requests for SQL-injection payloads.

boolean default false
Security & WAF Per-domain rule

disallowed_user_agents

Block requests whose User-Agent matches a rule.

list of user-agent rules
Security & WAF Per-domain rule

user_agent

The User-Agent string a block rule matches against.

string
Security & WAF Per-domain rule

rule_type

Whether a rule allow-lists (Whitelist) or deny-lists (Blacklist) its paths.

enum
Security & WAF Global · server

add_rate_limiting

Global rate limiter to absorb bursts and abuse.

boolean default true (prod) · false (dev)
Compression & media Guide

Compression, minification & images

Shrink responses on the fly with Brotli/Gzip/Zstd, HTML minification and WebP transforms.

Compression & media Per-domain rule

enable_compression

Compress responses for this domain before sending them.

boolean default true
Compression & media Per-domain rule

compression_flags

Which compression algorithms to offer: gzip, deflate, br, zstd.

string (csv) default br
Compression & media Per-domain rule

enable_minification

Strip whitespace/comments from responses before caching.

boolean default false
Compression & media Per-domain rule

minification_flags

Which content types to minify (currently html).

string (csv) default html
Compression & media Per-domain rule

enable_webp_transformation

Transparently re-encode images to WebP for supporting clients.

boolean default true
Compression & media Per-domain rule

webp_transformation_min_age

Minimum cache age before an image is re-encoded to WebP.

integer · seconds default 21600
Performance tuning Guide

Performance & socket tuning

Buffers, Nagle, keep-alive, backlog, streaming and timeouts — what to touch and what to leave.

Performance tuning Global · server

enable_streaming

Stream response bodies instead of buffering them in full.

boolean default true
Performance tuning Global · server

nodelay

Disable Nagle's algorithm on client sockets (TCP_NODELAY).

boolean default true
Performance tuning Global · server

proxy_nodelay

Disable Nagle's algorithm on upstream (origin) sockets.

boolean default true
Performance tuning Global · server

nonblocking

Use non-blocking sockets (required for high concurrency).

boolean default true
Performance tuning Global · server

recv_buffer_size

Override the kernel receive buffer size for sockets.

integer · bytes (KiB units in samples)
Performance tuning Global · server

send_buffer_size

Override the kernel send buffer size for sockets.

integer · bytes (KiB units in samples)
Performance tuning Global · server

max_backlog

Size of the kernel accept queue for pending connections.

integer
Performance tuning Global · server

tcp_keep_alive_seconds

Keep-alive timer for client connections.

integer · seconds
Performance tuning Global · server

ip_ttl

IP Time-To-Live (hop limit) set on outgoing packets.

integer (1–255)
Performance tuning Global · server

proxy_keepalive_sec

Keep-alive duration for pooled upstream (origin) connections.

integer · seconds default 120
Performance tuning Global · server

proxy_timeout

Timeout for upstream requests to the origin.

integer · seconds default 45
Server & networking Global · server

listening_address

Network interface the proxy binds to.

string (IP) default 0.0.0.0
Server & networking Global · server

listening_port_http

Port for incoming plain-HTTP traffic.

integer · port default 80
Server & networking Global · server

listening_port_https

Port for incoming HTTPS traffic.

integer · port default 443
Server & networking Global · server

api_key

Shared secret guarding the proxy's internal management API.

string
Server & networking Global · server

logging_level

Verbosity floor for proxy logs.

enum default error (prod) · debug (dev)
Server & networking Global · server

add_logging

Master switch for the logging subsystem.

boolean default true (prod) · false (dev)
Server & networking Global · server

add_request_logging

Log a line per HTTP request (access log).

boolean default false
Server & networking Per-domain rule

enable_logging

Enable logging for this specific domain.

boolean default false
Server & networking Per-domain rule

domain

The hostname a proxy rule applies to.

string (hostname)
Server & networking Global · server

disable_default_body_limit

Remove the default request-body size cap.

boolean default false
Server & networking Global · server

backtracing

Capture backtraces on errors for diagnostics.

boolean default false (prod) · true (dev)
Scenarios & recipes Scenario

Recipe: static marketing site

Maximise cache hit ratio and shrink transfer for a mostly-static site.

Scenarios & recipes Scenario

Recipe: single-page app + API

Cache the static front-end hard, never cache the API, all under one domain.

Scenarios & recipes Scenario

Recipe: multi-backend failover

Active/standby across two origins with health checks for automatic failover.

Scenarios & recipes Scenario

Recipe: hardened API gateway

No caching, strict TLS and WAF in front of a backend API.

Scenarios & recipes Scenario

Recipe: high-traffic media site

Lean on WebP and long-lived caching to slash bandwidth on an image-heavy site.