Nginx
Configure Nginx for reverse proxy, load balancing, SSL termination, and high-performance static serving.
MIT-0 · Free to use, modify, and redistribute. No attribution required.
⭐ 4 · 1.7k · 16 current installs · 16 all-time installs
byIván@ivangdavila
MIT-0
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
The name/description match the included documentation (proxy, ssl, performance, examples). The files only cover nginx config topics; there are no unrelated required binaries, environment variables, or capabilities.
Instruction Scope
The SKILL.md and companion files provide configuration guidance and call out nginx-specific paths (e.g., includes under /etc/nginx/conf.d/) and commands (e.g., nginx -t, nginx -s reload). Those references are appropriate for an nginx guide and do not instruct reading or exfiltrating unrelated secrets or contacting external endpoints.
Install Mechanism
No install spec and no code files — instruction-only. This is the lowest-risk installation model because nothing is written or executed by the skill itself.
Credentials
The skill declares no required environment variables, credentials, or config paths beyond standard nginx locations mentioned in documentation. There are no disproportionate credential requests.
Persistence & Privilege
always:false and user-invocable. The skill does not request permanent platform presence or attempt to modify other skills or global agent settings. Autonomous invocation is permitted by platform default but not a concern here given the skill's instruction-only nature.
Assessment
This skill is a documentation-only Nginx guide and appears coherent. Before giving an agent permission to apply changes based on these instructions: (1) review any concrete config edits the agent proposes, (2) test changes in a staging environment and run nginx -t before reloads, (3) back up existing nginx configs, and (4) keep private keys and certificates secure — do not allow the agent to expose or transmit private keys. If you only need advice, prefer read-only interactions rather than letting the agent modify system files.Like a lobster shell, security has layers — review code before you run it.
Current versionv1.0.1
Download ziplatest
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
SKILL.md
When to Use
User needs Nginx expertise — from basic server blocks to production configurations. Agent handles reverse proxy, SSL, caching, and performance tuning.
Quick Reference
| Topic | File |
|---|---|
| Reverse proxy patterns | proxy.md |
| SSL/TLS configuration | ssl.md |
| Performance tuning | performance.md |
| Common configurations | examples.md |
Location Matching
- Exact
=first, then^~prefix, then regex~/~*, then longest prefix location /apimatches/api,/api/,/api/anything— prefix matchlocation = /apionly matches exactly/api— not/api/location ~ \.php$is regex, case-sensitive —~*for case-insensitive^~stops regex search if prefix matches — use for static files
proxy_pass Trailing Slash
proxy_pass http://backendpreserves location path —/api/users→/api/usersproxy_pass http://backend/replaces location path —/api/users→/users- Common mistake: missing slash = double path — or unexpected routing
- Test with
curl -vto see actual backend request
try_files
try_files $uri $uri/ /index.htmlfor SPA — checks file, then dir, then fallback- Last argument is internal redirect — or
=404for error $uri/tries directory with index — setindex index.html- Don't use for proxied locations — use
proxy_passdirectly
Proxy Headers
proxy_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 detection
Upstream
- Define servers in
upstreamblock —upstream backend { server 127.0.0.1:3000; } proxy_pass http://backenduses upstream — load balancing included- Health checks with
max_failsandfail_timeout— marks server unavailable keepalive 32for connection pooling — reduces connection overhead
SSL/TLS
ssl_certificateis full chain — cert + intermediates, not just certssl_certificate_keyis private key — keep permissions restrictedssl_protocols TLSv1.2 TLSv1.3— disable older protocolsssl_prefer_server_ciphers on— server chooses cipher, not client
Common Mistakes
nginx -tbeforenginx -s reload— test config first- Missing semicolon — syntax error, vague message
rootinsidelocation— prefer inserver, override only when neededaliasvsroot— alias replaces location, root appends location- Variables in
if— many things break inside if, avoid complex logic
Variables
$uriis decoded, normalized path —/foo%20barbecomes/foo bar$request_uriis original with query string — unchanged from client$argsis query string —$arg_namefor specific parameter$hostfrom Host header —$server_namefrom config
Performance
worker_processes auto— matches CPU coresworker_connections 1024— per worker, multiply by workers for maxsendfile on— kernel-level file transfergzip ononly for text —gzip_types text/plain application/json ...gzip_min_length 1000— small files not worth compressing
Logging
access_log offfor static assets — reduces I/O- Custom log format with
log_format— add response time, upstream time error_loglevel:debug,info,warn,error— debug is verbose- Conditional logging with
mapandif— skip health checks
Files
5 totalSelect a file
Select a file to preview.
Comments
Loading comments…
