Nginx 配置生成

可视化生成 Nginx 站点配置:静态站 / 反向代理 / PHP,HTTPS 跳转、www 规范化、Gzip 与安全响应头。

保存后请执行 nginx -t 校验,再 reload 生效。

什么是Nginx 配置生成?

该工具用于快速生成常见场景下的 Nginx server 配置片段,比如静态网站托管、反向代理转发、HTTPS 强制跳转、跨域(CORS)响应头、Gzip 压缩等,用户填写域名、端口、根目录等参数后,工具拼装出可直接粘贴进 nginx.conf 或 conf.d 下配置文件的代码块。

为什么使用Nginx 配置生成?

Nginx 配置语法有固定套路但细节繁多(比如反向代理要不要转发 Host 头、proxy_set_header 该设哪几个、静态资源缓存策略怎么写),从零手写容易漏掉关键指令(比如反向代理漏了 proxy_set_header X-Real-IP 导致后端拿不到真实客户端 IP)。用工具生成经过验证的模板片段,再按需微调域名和路径,比翻旧项目配置复制粘贴更不容易遗漏,也比每次上网搜示例更快。

使用示例

生成反向代理配置

输入域名 api.example.com、代理目标 http://127.0.0.1:3000,生成的配置包含 proxy_pass http://127.0.0.1:3000;、proxy_set_header Host $host;、proxy_set_header X-Real-IP $remote_addr; 等关键指令,直接粘贴即可让 Nginx 把该域名的请求转发到本地 3000 端口的 Node 服务。

生成 HTTPS 强制跳转配置

生成一段监听 80 端口的 server 块,内容为 return 301 https://$host$request_uri;,用于把所有 HTTP 请求永久重定向到 HTTPS,是网站启用 SSL 后的标准配套配置。

生成静态资源缓存与 Gzip 配置

针对 /static/ 路径生成 expires 30d; 和 gzip on; gzip_types text/css application/javascript; 等指令,减少静态资源重复请求、缩小传输体积,提升页面加载速度。

使用提示

修改生产环境 Nginx 配置后,务必先执行 nginx -t 检测语法,再执行 nginx -s reload 平滑重载,避免直接重启导致正在处理的连接被中断。

常见问题

配置文件放在哪里、怎么生效?
一般保存为 /etc/nginx/sites-available/你的域名.conf,再 ln -s 到 sites-enabled/(或直接放 conf.d/),然后 nginx -t 检查语法,通过后 systemctl reload nginx 生效。
HTTPS 证书路径填什么?
用 Let’s Encrypt(certbot)时通常是 /etc/letsencrypt/live/域名/fullchain.pem 与 privkey.pem;用自有证书则填你的 .crt/.pem 与 .key 实际路径。
反向代理 / Node / PHP 怎么选?
静态站点选「静态站点」;Node/Go 等应用监听本地端口选「反向代理」并填 proxy_pass;PHP(如 WordPress)选「PHP」并填 php-fpm 版本。
数据会上传吗?
不会。配置全部在浏览器本地根据表单实时拼接生成,不发起任何网络请求。
生成的配置能直接在生产环境使用吗?
可以作为起点,但涉及具体业务的部分(如 SSL 证书路径、内网服务地址、访问控制规则)必须根据实际环境核对修改,上线前建议用 nginx -t 检查语法并在测试环境验证一次。
为什么反向代理一定要加 proxy_set_header?
Nginx 默认不会把原始请求的 Host、客户端真实 IP 转发给后端,如果不显式设置 proxy_set_header Host $host 和 X-Real-IP/X-Forwarded-For,后端应用拿到的会是 Nginx 自己的地址信息,导致日志、限流、跳转链接等功能出错。
工具生成的配置和我现有的 nginx.conf 冲突怎么办?
工具只生成独立的 server 块或部分指令片段,需要你自行判断插入位置(避免同一端口/域名的 server 块重复定义),并注意 http 块和 server 块级别的指令不能混放。
支持生成 WebSocket 代理配置吗?
若涉及 WebSocket,需要额外加上 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; 才能正常升级协议,生成配置后应检查是否包含这些指令,若目标场景需要请手动核对补充。

相关工具

相关教程

← 返回工具箱· 数据均在浏览器本地处理,不上传服务器。