Nginx
Configure Nginx for reverse proxy, load balancing, SSL termination, and high-performance static serving.
New
Join 0+ developers using this skill
skill
DevOps & Deployment
intermediate
Configure Nginx for reverse proxy, load balancing, SSL termination, and high-performance static serving.
Real data. Real impact.
Emerging
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
User needs Nginx expertise — from basic server blocks to production configurations. Agent handles reverse proxy, SSL, caching, and performance tuning.
| Topic | File |
|---|---|
| Reverse proxy patterns | |
| SSL/TLS configuration | |
| Performance tuning | |
| Common configurations | |
= first, then ^~ prefix, then regex ~/~*, then longest prefixlocation /api matches /api, /api/, /api/anything — prefix matchlocation = /api only matches exactly /api — not /api/location ~ \.php$ is regex, case-sensitive — ~* for case-insensitive^~ stops regex search if prefix matches — use for static filesproxy_pass http://backend preserves location path — /api/users → /api/usersproxy_pass http://backend/ replaces location path — /api/users → /userscurl -v to see actual backend requesttry_files $uri $uri/ /index.html for SPA — checks file, then dir, then fallback=404 for error$uri/ tries directory with index — set index index.htmlproxy_pass directlyproxy_set_header Host $host — backend sees original host, not proxy IPproxy_set_header X-Real-IP $remote_addr — client IP, not proxyproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for — append to chainproxy_set_header X-Forwarded-Proto $scheme — for HTTPS detectionupstream block — upstream backend { server 127.0.0.1:3000; }proxy_pass http://backend uses upstream — load balancing includedmax_fails and fail_timeout — marks server unavailablekeepalive 32 for connection pooling — reduces connection overheadssl_certificate is full chain — cert + intermediates, not just certssl_certificate_key is private key — keep permissions restrictedssl_protocols TLSv1.2 TLSv1.3 — disable older protocolsssl_prefer_server_ciphers on — server chooses cipher, not clientnginx -t before nginx -s reload — test config firstroot inside location — prefer in server, override only when neededalias vs root — alias replaces location, root appends locationif — many things break inside if, avoid complex logic$uri is decoded, normalized path — /foo%20bar becomes /foo bar$request_uri is original with query string — unchanged from client$args is query string — $arg_name for specific parameter$host from Host header — $server_name from configworker_processes auto — matches CPU coresworker_connections 1024 — per worker, multiply by workers for maxsendfile on — kernel-level file transfergzip on only for text — gzip_types text/plain application/json ...gzip_min_length 1000 — small files not worth compressingaccess_log off for static assets — reduces I/Olog_format — add response time, upstream timeerror_log level: debug, info, warn, error — debug is verbosemap and if — skip health checksNo automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.