Nginx 配置生成器
通过简单的开关构建一个完整的 nginx server 块,就在你的浏览器中实时完成。你的输入留在你的设备上。
你的域名、路径和证书位置仅在你的浏览器中用于构建配置,绝不会上传。不过,请避免将真实的私钥内容粘贴到任何工具中。
需要为你的 web 根目录设置文件权限?试试 chmod 计算器。
关于 Nginx 配置生成器
这款 nginx 配置生成器会把少量输入和开关,转换为一个完整、有效的 nginx server 块,可直接放进 sites-available。选择静态站点(root + index,配合 try_files)或反向代理(proxy_pass,带标准的 Host、X-Real-IP、X-Forwarded-For 和 X-Forwarded-Proto 头,外加可选的 WebSocket 升级行)。打开 SSL 即可监听 443、配置 ssl_certificate 和 ssl_certificate_key,并生成第二个把 HTTP 以 301 重定向到 HTTPS 的 server 块。每项只需一键即可添加 gzip、长效静态资源缓存、client_max_body_size 限制,以及一条规范的 www 转非 www 重定向。作为 nginx 配置生成器,它会保持花括号平衡、缩进整洁,然后让你复制结果或下载为 <domain>.conf。一切都在你的浏览器中运行,因此你的域名和路径留在你的设备上。
功能特性
- 静态站点模式,带 root、index 和一个 try_files location 块
- 反向代理模式,带 proxy_pass 和标准的 proxy_set_header 行
- 通过 proxy_http_version、Upgrade 和 Connection 头提供可选的 WebSocket 支持
- SSL 开关会添加 listen 443 ssl,外加一个 HTTP→HTTPS 的 301 重定向 server
- 为 text、JSON、JavaScript、CSS、XML 和 SVG 调优的 gzip 块
- 静态资源缓存 location,带 expires 和 immutable 的 Cache-Control
- client_max_body_size 输入以及 www↔非 www 的规范重定向
- 复制该 server 块或将其下载为 example.com.conf
如何使用 Nginx 配置生成器
- 输入你的域名和监听端口,并选择静态站点或反向代理。
- 填写 root 和 index,或为你的应用填写 proxy_pass 上游。
- 按需切换 SSL、gzip、缓存、请求体大小和 www 重定向。
- 在右侧查看实时的 nginx 配置,然后「复制」或「下载」该 .conf。
示例
输入
Domain: example.com
Mode: Reverse proxy
Upstream: http://127.0.0.1:3000
SSL: on
输出
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name example.com www.example.com;
ssl_certificate /etc/ssl/certs/example.com.crt;
ssl_certificate_key /etc/ssl/private/example.com.key;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
一个监听 443 的反向代理,配上匹配的 HTTP→HTTPS 重定向块。
常见错误与故障排除
- nginx -t 报告「cannot load certificate」,或 SSL 块无法启动。 — 让 ssl_certificate 指向你的 fullchain 文件,ssl_certificate_key 指向对应的私钥,并确保两个路径都存在且 nginx 可读。
- 反向代理的应用显示了错误的客户端 IP,或在 HTTPS 后端出现故障。 — 保留生成的 proxy_set_header 行,让 Host、X-Real-IP、X-Forwarded-For 和 X-Forwarded-Proto 到达你的上游,并在你的应用中从正确的头读取它们。
- WebSocket 连接以 400 断开或无法升级。 — 打开 WebSocket 支持,使该 location 添加 proxy_http_version 1.1,以及 nginx 代理 ws/wss 所需的 Upgrade 和 Connection "upgrade" 头。
- 大文件上传返回 413 Request Entity Too Large。 — 将 client_max_body_size 设为高于你最大上传的值,例如 20M 或 100M,然后重载 nginx。
常见问题
- 如何在 nginx 中设置反向代理?
- 选择「反向代理」,在 proxy_pass 中输入你的上游(例如 http://127.0.0.1:3000),生成器就会添加一个 location / 块,带标准的 Host、X-Real-IP、X-Forwarded-For 和 X-Forwarded-Proto 头。如果你的应用使用 ws/wss,请启用 WebSocket 支持。
- nginx 的 server 块放在哪里?
- 在 Debian 和 Ubuntu 上,将生成的文件保存为 /etc/nginx/sites-available/example.com,并软链接到 sites-enabled。在许多其他发行版上,将它放进 /etc/nginx/conf.d/example.com.conf,然后运行 nginx -t 并重载。
- SSL 开关如何改变配置?
- 它会将主 server 切换为监听 443 ssl,添加 ssl_certificate 和 ssl_certificate_key,并生成第二个监听 80 端口的 server 块,把每个请求以 301 重定向到 https://,让访客始终落到安全站点。
- 这里静态站点和反向代理有什么区别?
- 静态模式从一个 root 目录用 index 和 try_files location 提供文件,适合 HTML、SPA 或构建产物。反向代理模式则用 proxy_pass 和代理头把请求转发到一个上游应用服务器,而不是提供文件。
- 我能添加 gzip 和静态资源缓存吗?
- 可以。gzip 开关会为 text、JSON、JavaScript、CSS、XML 和 SVG 添加一个调优的 gzip 块,缓存开关则添加一个 location,为常见资源扩展名设置 30 天的 expires 和 immutable 的 Cache-Control 头。
- 我的域名或配置会被发送到任何地方吗?
- 不会。这款 nginx 配置生成器完全在你的浏览器中运行,因此你输入的域名、路径和证书位置都在你的设备上处理,生成的文件绝不会上传。
相关工具
全部 ArrayKit 工具