NGINX 服务器块生成器
指导
NGINX 服务器块生成器
Build a ready-to-paste NGINX server block from a simple form. Pick a port, choose between serving static files or proxying to a backend, and toggle SSL, HTTP/2, gzip, and an HTTP-to-HTTPS redirect. The output updates as you type and is safe to drop straight into /etc/nginx/sites-available/ on most distributions.
如何使用
- Enter the primary Server Name (for example
example.com) and any extra aliases such aswww.example.com. - Pick the Listen Port — typically
80for HTTP. The port is auto-replaced with443 sslwhen SSL is enabled. - 选择一个 模式: Static files reveals document root and index file fields, while Reverse proxy reveals an upstream URL field with optional WebSocket header forwarding.
- 切换 Enable SSL to add certificate paths, HTTP/2, and an automatic HTTP-to-HTTPS redirect block.
- Adjust Extras like gzip compression, client max body size, and access/error log paths.
- 使用 复制 或 下载 buttons on the output to grab the configuration.
特征
- Static or reverse proxy mode – Switch between serving files from a document root and forwarding requests to an upstream service.
- SSL helpers – One toggle adds
ssl_certificate,ssl_certificate_key, modern TLS protocols, optional HTTP/2, and a separate HTTP-to-HTTPS redirect server block. - WebSocket-aware proxy – Reverse proxy mode can emit the
Upgrade且Connectionheaders required by WebSocket and Server-Sent Events backends. - Production-safe defaults – Sensible
X-Forwarded-*headers, gzip MIME types, IPv6 listener, and configurableclient_max_body_size, access log, and error log paths. - 实时预览 – Output regenerates automatically on every input change, with copy and download buttons for quick deployment.
常问问题
-
What is an NGINX server block?
A server block is the NGINX equivalent of an Apache virtual host. It groups directives that decide how NGINX answers a request for a specific host name and port: which files to serve, where to proxy traffic, what TLS certificate to use, and which logs to write. NGINX matches an incoming request to a server block by comparing its
Hostheader and listening socket to the block'sserver_name且listen”) 指令。 -
How does NGINX choose between static files and reverse proxy?
The behavior is decided per
location. A static-file location usesroot加上try_files且indexto look up files on disk; a reverse-proxy location usesproxy_passto forward the request to another address over HTTP. NGINX itself does not auto-detect intent — you pick the mode by writing the appropriate directives, and NGINX simply runs whichever block matches the request URI. -
Why use HTTP/2 instead of HTTP/1.1?
HTTP/2 multiplexes many parallel requests over a single TCP connection, sends headers in a compressed binary form (HPACK), and supports server push. In practice this reduces head-of-line blocking and lowers latency for pages that load many resources from the same origin. HTTP/2 also requires TLS in browsers, which is why it is enabled together with SSL on the same listener.
-
What does gzip compression actually compress?
NGINX's
gzipmodule compresses outgoing response bodies before they leave the server, using DEFLATE with a configurable level. It is most effective on text-like MIME types — HTML, CSS, JavaScript, JSON, XML, SVG — and is a no-op on already-compressed formats like JPEG, PNG, or video. NGINX advertises support to clients via theVary: Accept-Encodingheader so caches can store both compressed and uncompressed copies. -
What is the role of X-Forwarded-For when proxying?
When a request passes through a reverse proxy, the upstream service sees the proxy's IP as the client. The
X-Forwarded-Forheader preserves the original chain of client addresses, andX-Real-IPrecords just the immediate client. Together withX-Forwarded-Proto, they let the backend reconstruct who the real visitor is and whether they connected over HTTPS, which is essential for accurate rate limiting, access control, and analytics.
