Skip to main content

nginx Directive Map

Full reference mapping every nginx directive (open-source and nginx Plus) to its tinyproxy equivalent or an explanation of why it's not yet supported.

✅ = Fully converted ⚠️ = Partially converted ❌ = Unsupported (stubbed)

Core Server Directives

nginx directivetinyproxyStatusNotes
server { }vhost block
server_namehostname keyFirst name used; aliases dropped
listenportssl flag detected
rootroot
proxy_pass (single)proxy_pass
proxy_pass (upstream ref)upstream { }Named upstream resolved
client_max_body_sizemax_body_size
gzip on/offcompression on/offbrotli also enabled when on
index
aliasUse root
autoindex

SSL / TLS

nginx directivetinyproxyStatusNotes
ssl_certificatessl { cert }
ssl_certificate_keyssl { key }
ssl_protocolstinyproxy enforces TLS 1.2+ always
ssl_ciphersForward-secret ciphers enforced by default
ssl_session_cache
ssl_session_timeout
ssl_prefer_server_ciphers

Security Headers

nginx directivetinyproxyStatus
add_header X-Frame-Optionssecurity { frame_options }
add_header X-Content-Type-Optionssecurity { content_type }
add_header X-XSS-Protectionsecurity { xss_protection }
add_header Content-Security-Policysecurity { csp }
add_header Strict-Transport-Securitysecurity { hsts }
add_header (other)

Rate Limiting

nginx directivetinyproxyStatusNotes
limit_req_zone + limit_reqsecurity { rate_limit { } }Rate and window extracted from zone definition
limit_conn_zone + limit_connConnection limiting not yet supported
limit_req_status

FastCGI

nginx directivetinyproxyStatus
fastcgi_passfastcgi { pass }
fastcgi_indexfastcgi { index }
fastcgi_paramfastcgi { param }
fastcgi_read_timeout
fastcgi_buffers

Upstream / Load Balancing

nginx directivetinyproxyStatusNotes
upstream { server … }upstream { backend … }
ip_hashupstream { strategy ip_hash }
least_connupstream { strategy least_conn }
randomupstream { strategy round_robin }⚠️Mapped to round_robin
server weight=Nbackend … weight N
server backup⚠️Backup flag dropped
keepalive⚠️Stubbed; keepalive not configurable

Caching

nginx directivetinyproxyStatusNotes
proxy_cache_pathPath-based cache not supported
proxy_cachecache { enabled true }⚠️
proxy_cache_validcache { default_ttl }⚠️

URL Routing & Rewriting

nginx directivetinyproxyStatusNotes
location (prefix)location /path/ { }Longest prefix wins
location = (exact)location = /path { }Wins immediately
location ~ (regex)location ~ pattern { }Case-sensitive; first declared wins
location ~* (regex, case-insensitive)location ~ pattern { }⚠️Mapped to ~; case-insensitivity dropped with comment
location ^~ (prefix, no-regex)location /path/ { }⚠️Mapped to plain prefix; priority semantics not preserved
return 3xx <url>redirect <code> <url>Inside location blocks; 3xx codes only
rewrite
try_files
return (non-redirect)2xx/4xx/5xx return codes not supported
map
if

Proxy Headers & Timeouts

nginx directivetinyproxyStatus
proxy_set_header
proxy_hide_header
proxy_read_timeout
proxy_send_timeout
proxy_connect_timeout

Auth

nginx directivetinyproxyStatus
auth_basic
auth_basic_user_file
auth_request

Logging

nginx directivetinyproxyStatus
access_log
error_log

nginx Plus Directives

nginx Plus directivetinyproxyStatus
health_check (active)
auth_jwt
auth_jwt_key_file
oidc
resolver
js_include / js_content (njs)
Lua / OpenResty

Block-Level Directives (Unsupported)

nginx directivetinyproxyStatus
stream { }
mail { }
geo
sub_filter
mirror
error_page