在线Nginx配置生成工具

免费在线Nginx配置文件生成工具。通过可视化Tab填写基础配置(server_name域名、http端口、access_log访问日志)、SSL配置(443端口、证书crt/key路径、SSL协议TLSv1-TLSv1.3、session缓存)、Location路由配置(动态添加多个location,配置path路径、proxy_pass反向代理地址、fastcgi缓冲参数)。一键生成标准nginx.conf server块配置,支持复制到剪贴板和下载.conf文件。

基础配置
SSL配置
Locations配置
基础Server配置
SSL HTTPS配置
TLSv1
TLSv1.1
TLSv1.2
TLSv1.3
Location路由配置
生成结果 nginx.conf
复制 下载

功能特性

基础配置可视化

直观设置server_name域名、http监听端口、access_log访问日志路径,无需记忆Nginx指令语法。

SSL一键配置

启用HTTPS后自动生成80端口301跳转配置,支持TLSv1~TLSv1.3协议多选,SSL Session缓存、安全密码套件推荐。

多Location管理

动态添加/删除location路由块,配置path路径、proxy_pass反向代理、fastcgi_buffers缓冲参数。

反向代理Header

自动生成标准proxy_set_header配置(Host、X-Real-IP、X-Forwarded-For/Proto、WebSocket Upgrade等)。

复制与下载

生成后一键复制到剪贴板,或直接下载为{serverName}.conf文件,方便直接上传服务器。

明暗主题适配

自动跟随系统或手动切换明暗主题,深色模式下代码区域高亮优化,长时间使用不累眼。

使用说明

步骤一:填写基础配置

  • 切换到「基础配置」标签页,填写server_name域名(多个域名用空格分隔,如 example.com www.example.com)。
  • 设置HTTP监听端口(默认80)和access_log访问日志路径。
  • 如需HTTPS,勾选「启用HTTPS」复选框,系统会自动生成80到443的301跳转规则。

步骤二:配置SSL(可选)

  • 切换到「SSL配置」标签页(仅在启用HTTPS后填写有效)。
  • 设置HTTPS端口(默认443),填写SSL证书.crt和私钥.key的服务器绝对路径。
  • 选择SSL协议版本:推荐仅勾选TLSv1.2TLSv1.3(老旧客户端兼容时才需要TLSv1/1.1)。
  • 设置SSL Session缓存超时时间(默认10分钟)。

步骤三:配置Locations

  • 切换到「Locations配置」标签页,点击「添加Location」可增加路由块,默认保留至少1个location。
  • path:匹配路径,如 //api/~ \.php$ 等。
  • proxy_pass:反向代理目标地址,如 http://127.0.0.1:5000http://localhost:3000,留空则作为静态站点(root指令)。
  • fastcgi_buffers:PHP-FPM等FastCGI缓冲,如 8 16k
  • fastcgi_buffer_size:FastCGI首缓冲大小,如 16k

步骤四:生成与部署

  • 点击「生成Nginx配置」按钮,结果显示在下方文本框。
  • 点击「复制」按钮粘贴到服务器配置文件,或点击「下载」获取.conf文件。
  • 将配置文件放到Nginx的conf.d/sites-enabled/目录,执行nginx -t测试无误后nginx -s reload重载。

典型应用场景

  • 前端静态站点:Vue/React构建产物部署,location留空自动配置root和index。
  • 后端反向代理:.NET/Node.js/Java/SpringBoot应用,proxy_pass指向Kestrel/Express/Tomcat端口。
  • API网关:多个location分发至不同后端服务,/api/到后端、/static/到本地目录。
  • HTTPS证书部署:Let's Encrypt/阿里云/腾讯云SSL证书快速配置到Nginx。
  • PHP站点:配置fastcgi_buffers参数指向PHP-FPM(9000端口或Unix Socket)。

常见问题 FAQ

生成的配置如何测试是否正确?
将配置放到Nginx配置目录后,执行 nginx -t(系统全局安装)或 /usr/sbin/nginx -t(指定路径),如果显示 syntax is oktest is successful 表示配置语法无误。确认无误后执行 nginx -s reload 平滑重载,不会中断现有连接。
Nginx配置文件通常放在哪个路径?
不同发行版略有差异:
- CentOS/RHEL:主配置 /etc/nginx/nginx.conf,子配置目录 /etc/nginx/conf.d/*.conf
- Ubuntu/Debian:主配置 /etc/nginx/nginx.conf,子配置目录 /etc/nginx/sites-enabled/*.conf(软链接自sites-available)
- Docker官方镜像:/etc/nginx/conf.d/default.conf
- Windows:nginx目录/conf/nginx.conf
推荐将生成的server块保存为独立.conf文件放入子配置目录,便于管理。
如何在主nginx.conf中引用子配置文件?
主配置文件的http块中通常已包含include指令,例如:
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
如果没有,手动在http块内部末尾添加该行即可。注意路径末尾的通配符,确保你的.conf文件被匹配到。
proxy_pass反向代理有哪些必设Header?
本工具自动生成以下标准proxy_set_header:
- Host $host:传递原始域名,避免后端显示为localhost
- X-Real-IP $remote_addr:传递客户端真实IP
- X-Forwarded-For $proxy_add_x_forwarded_for:追加代理链IP
- X-Forwarded-Proto $scheme:告诉后端是http还是https
- Upgrade/Connection:支持WebSocket协议(SignalR、Socket.IO等)
后端应用通过读取这些Header获取真实客户端信息。
启用HTTPS后浏览器提示证书不安全?
常见原因:1) 证书路径填错或文件不存在,检查nginx -t输出;2) 证书域名与访问域名不匹配(含www差异);3) 证书链不完整,crt文件需包含服务器证书+中级证书(CA Bundle);4) 使用了自签名证书,需在客户端信任根证书。推荐使用Let's Encrypt免费证书,配合certbot自动续期。
fastcgi_buffers参数怎么设置?
fastcgi_buffers 8 16k 表示分配8个每个16KB的缓冲区(共128KB),用于存放FastCGI响应。fastcgi_buffer_size 用于存放响应首行(HTTP头)。如果PHP页面较大或出现"upstream sent too big header"错误,可适当调大:
- 普通站点:fastcgi_buffers 8 16k + fastcgi_buffer_size 16k
- 大响应/长Cookie:fastcgi_buffers 16 32k + fastcgi_buffer_size 32k
注意过大的缓冲会增加内存消耗。
本工具生成的配置支持HTTP/2和HTTP/3吗?
启用HTTPS时自动在listen指令中添加 http2 参数,支持HTTP/2协议(需Nginx 1.9.5+且openssl支持ALPN)。HTTP/3(QUIC)目前需要Nginx 1.25.0+并添加 listen 443 quichttp3 on 指令,同时需开放UDP 443端口。如需HTTP/3可在生成的配置基础上手动补充。
location路径匹配优先级是怎样的?
Nginx匹配顺序:
1. = /path 精确匹配(最高优先级)
2. ^~ /path 前缀匹配(命中后停止正则匹配)
3. ~ regex / ~* regex 正则匹配(按配置顺序)
4. /path 普通前缀匹配(无正则命中时选最长前缀)
推荐:静态文件用前缀匹配 /static/,PHP用正则 ~ \.php$,默认站点用 /