Nginx Location Block Configurator

Build Nginx location blocks for static sites, reverse proxies, PHP-FPM, and redirects with optional headers and hardening.

Nginx Location Block Configurator

Generate paste-ready location blocks for static sites, reverse proxies, PHP-FPM, and redirects.

Use a URI prefix (e.g., /api/) or a regex (e.g., \.php$).
Use a Unix socket or host:port.
max-age
Processing…
No output yet
Configure settings and click Generate.
Copied

About Nginx Location Block Configurator

Nginx Location Block Configurator for Nginx Location Blocks

The Nginx Location Block Configurator helps you build paste-ready Nginx location blocks for common web stacks without guessing directives or forgetting critical headers. Choose a mode (static, reverse proxy, PHP-FPM, or redirect), adjust options like caching, security headers, and basic auth, then copy a clean snippet into your server context.

How the Nginx Location Block Configurator Works

This tool turns a few structured inputs into a correctly formatted location block that matches your routing intent. It chooses the right location modifier (prefix, exact, or regex), includes the directives that belong to your chosen mode, and optionally adds safety defaults like denying hidden files or setting common proxy headers.

Step-by-Step

  • 1) Choose a match type: Pick prefix (location /path/), exact (location = /path), or regex (location ~) depending on how you want requests matched.
  • 2) Select a mode: Static files, reverse proxy, PHP-FPM, or redirect. Each mode outputs a different directive set aligned with typical Nginx best practices.
  • 3) Fill in core values: Provide root and try_files for static, a proxy_pass URL for proxies, a fastcgi_pass socket/host for PHP, or a redirect target and status code.
  • 4) Add optional hardening: Enable caching headers, security headers, or basic auth. You can also deny access to dotfiles while allowing /.well-known for ACME and similar workflows.
  • 5) Copy or download: The output is formatted for direct use, so you can paste it into your site config and reload Nginx confidently.

Key Features

Match Type Control

Nginx location matching is powerful but easy to get wrong. The configurator lets you choose prefix, exact, or regex matching and formats the modifier correctly so your rule order is predictable.

Mode-Based Directive Sets

Different workloads need different directives. Static content typically relies on root and try_files, reverse proxies rely on proxy_pass and headers, and PHP apps rely on fastcgi_pass plus parameter includes. The tool outputs only what belongs to the selected scenario, keeping configs tidy.

Copy-Ready Proxy Headers

For reverse proxies, the generator can include common upstream headers such as Host, X-Real-IP, and X-Forwarded-For. It also supports WebSocket-friendly settings so real-time apps don’t break due to missing upgrade headers.

Caching and Header Helpers

When you need a quick, consistent cache policy, enable cache headers to add sensible Cache-Control settings and optional expires behavior. You can also include a set of lightweight security headers suited for many deployments, while still leaving room for your own CSP strategy.

Practical Security Toggles

Generate basic auth directives for staging environments, deny dotfiles to prevent accidental leaks, and add helpful inline comments (optional) so teammates understand why a directive is present.

Use Cases

  • Static landing pages: Create a location block that serves files from a document root and falls back to an index file or 404 using try_files.
  • Single Page Applications (SPA): Use try_files $uri $uri/ /index.html patterns to support client-side routing while still serving real assets efficiently.
  • Reverse proxy to an app server: Build a clean proxy location for Node, Go, Python, or container backends with the headers most apps expect.
  • API gateway routing: Define precise prefix or regex locations that forward only selected routes to an upstream service while leaving other paths local.
  • PHP applications: Generate a PHP-FPM location snippet with fastcgi_pass and baseline parameters, useful for WordPress, Laravel, or legacy PHP sites.
  • Temporary redirects: Output a minimal redirect location that uses a chosen status code and target URL for migrations and canonicalization.
  • Staging protection: Add basic auth to keep non-production sites private without editing multiple config files by hand.

Whether you’re writing a new site config or tightening an existing one, the configurator saves time and reduces mistakes by keeping output consistent and focused on what you actually need.

Optimization Tips

Prefer Prefix Matches for Most Paths

Use prefix locations for directories and common route groups because they are straightforward and fast to reason about. Switch to exact matches for special endpoints that must override broader prefixes, and use regex only when you truly need pattern matching.

Be Explicit About Upstream Scheme and Trailing Slashes

When using proxy_pass, small differences in the upstream URL and trailing slash can change how Nginx rewrites the request URI. Keep your intent explicit: decide whether you want to preserve the full path or map it into a different upstream prefix, and test a couple of representative endpoints before shipping.

Cache Aggressively Only for Immutable Assets

Long cache lifetimes are best reserved for versioned assets like app.8c1f3.css. For HTML documents or API responses, use shorter cache policies (or no cache) unless you are confident your invalidation strategy is solid.

FAQ

Prefix is the default choice for most paths and folders. Use exact matches for single endpoints that must win over broader rules. Regex is powerful, but it can be harder to maintain, so reserve it for patterns you can’t express with prefixes.

The default output is a location block you can paste inside an existing server block. You can optionally include a minimal server wrapper for quick prototyping, but you should still review your global settings, SSL, and logging.

WebSockets typically require HTTP/1.1 plus upgrade headers. Enable the WebSocket option to include proxy_http_version 1.1 and the Upgrade/Connection header lines, then confirm your upstream supports the protocol and path.

Use either a Unix socket (common on Linux distributions) or a host:port pair if PHP-FPM listens on TCP. Examples include unix:/run/php/php8.2-fpm.sock or 127.0.0.1:9000. Your distribution and PHP version determine the actual socket path.

It’s designed to be production-friendly, but you should always review it in the context of your environment, especially for caching rules, authentication paths, and any custom headers. Test with nginx -t and deploy with a controlled reload to avoid downtime.

Why Choose the Nginx Location Block Configurator?

Nginx configuration is concise, but small syntax details can have outsized effects on routing and security. This tool gives you a structured way to generate the core snippet you need while keeping the output readable and easy to review during code review or incident response.

Instead of searching for scattered examples, you can standardize how your team writes location blocks for proxies, PHP apps, and static sites. Use it as a quick starter for new projects, a way to document intent with optional comments, and a safety net that helps you avoid missing the directives that matter most.