Nginx Config Generator
Preset
Server
SSL / TLS
Reverse Proxy
Security Headers
Access Control
Performance & Caching
Timeouts & Buffers
Generated Configuration

About This Tool

Generate production-ready Nginx server block configurations with a visual builder. Select the features you need and get a complete configuration file you can copy directly to your server.

Features

  • 6 presets — Static, Reverse Proxy, SPA, PHP-FPM, API Server, Hardened

  • Upstream blocks — Named upstream with load balancing (round-robin, least connections, IP hash), keepalive connections, and multiple backend servers

  • Modern SSL/TLS — QUIC/HTTP3, OCSP stapling, 0-RTT early data, strong cipher suites, session tickets off, HSTS preload

  • Access control — Rate limiting with burst, block hidden files, block exploit paths (wp-admin, phpMyAdmin), tarpit slow responses

  • Security headers — X-Frame-Options, XCTO, Referrer-Policy, Permissions-Policy, COOP/CORP/COEP, basic CSP with link to CSP Policy Builder

  • Performance — Gzip, Brotli, static asset caching, open file cache, proxy buffering

  • Reverse proxy — WebSocket support, proxy headers, keepalive, buffering options

How do I use it?

  1. Start with a preset that matches your use case
  2. Customize domain, root path, and SSL certificate paths
  3. Enable QUIC/HTTP3, OCSP stapling, and modern TLS options
  4. Configure access control: rate limiting, blocked paths, and tarpit
  5. Toggle security headers and performance optimizations
  6. Copy the generated configuration and place it in your Nginx sites directory

Privacy

All configuration generation happens entirely in your browser. No domains, IP addresses, or backend paths are transmitted to any server. Your server architecture stays private.

Linux Command Reference

Common commands for managing Nginx and verifying configurations:

How do I verify the configuration?

nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful

How do I reload the configuration without downtime?

nginx -s reload
Nginx reloads configuration without dropping active connections

How do I check the version and modules?

nginx -V
nginx version: nginx/1.25.4built by gcc 12.2.0 (Debian 12.2.0-14)built with OpenSSL 3.0.11 19 Sep 2023TLS SNI support enabledconfigure arguments: --with-http_ssl_module --with-http_v2_module --with-http_v3_module ...

Learn More

These blog posts provide detailed guides on the features available in this generator:

Frequently asked questions

Is my server configuration sent to any server?

No. All configuration generation happens entirely in your browser. Domains, IP addresses, and backend paths are never transmitted, so your server architecture stays private.

Where do I place the generated Nginx config file?

Copy the output into your Nginx sites directory (commonly /etc/nginx/sites-available/ with a symlink in sites-enabled/, or /etc/nginx/conf.d/). Then run "nginx -t" to validate and "nginx -s reload" to apply it without dropping connections.

How do I enable QUIC/HTTP3 in the generated config?

Toggle the QUIC/HTTP3 option in the SSL/TLS section. Note your Nginx build must include the http_v3 module — check with "nginx -V" and look for --with-http_v3_module.

What does the tarpit feature do?

The tarpit deliberately sends slow responses to attackers and scanners hitting blocked or exploit paths (like wp-admin or phpMyAdmin), wasting their time and resources instead of returning a quick error.

Which preset should I start with?

Pick the preset closest to your use case — Static, Reverse Proxy, SPA, PHP-FPM, API Server, or Hardened — then customize the domain, root path, and SSL certificate paths from there.