Nginx Config Visual Editor 是一款功能强大的 Nginx 配置文件可视化编辑工具。通过直观的拖拽式画布界面,帮助运维工程师和开发者快速构建、调试和优化 Nginx 配置,彻底告别繁琐的手写配置和语法错误。
- 🎨 可视化画布编辑 - 拖拽节点构建配置,所见即所得
- 📦 丰富的模板库 - 一键套用常见场景配置模板
- 🔍 智能配置体检 - 自动检测安全隐患和性能问题
- 🔧 一键修复 - 自动修复检测到的配置问题
- 📝 实时预览 - 实时生成标准 nginx.conf 配置文件
- 📥 导入/导出 - 支持导入现有配置,导出为配置文件或 Dockerfile
- 🌐 中英双语 - 完整的中英文界面支持
- 🚀 流量模拟 - 可视化模拟请求路径匹配
画布是本工具的核心交互区域,采用 React Flow 实现节点化配置管理。
支持的节点类型:
| 节点类型 | 说明 | 对应 Nginx 块 |
|---|---|---|
| Server 节点 | 虚拟主机配置 | server { } |
| Location 节点 | 路径匹配规则 | location { } |
| Upstream 节点 | 负载均衡后端 | upstream { } |
画布操作:
- 拖拽添加 - 从左侧边栏拖拽节点到画布
- 连线关联 - 连接 Location 到 Upstream 配置代理
- 框选多选 - 批量选中和移动节点
- 自动布局 - 一键整理节点位置
- 缩放平移 - 滚轮缩放,拖拽平移
选中任意节点后,右侧属性面板可编辑该节点的详细配置。
Server 节点属性:
- 监听端口 (
listen) - 服务器名称 (
server_name) - SSL/HTTPS 配置
- 根目录 (
root) 和索引文件 (index) - HTTP 强制跳转 HTTPS
- 自定义指令
Location 节点属性:
- 路径匹配模式 (
=,~,~*,^~, 无修饰符) - 代理转发 (
proxy_pass) - 代理头设置 (
proxy_set_header) - CORS 跨域配置
- WebSocket 支持
try_files配置- 重写规则 (
rewrite) - 访问控制 (
allow/deny) - Basic 认证
Upstream 节点属性:
- 负载均衡策略 (轮询 / 权重 / IP Hash / 最少连接)
- 后端服务器列表
- 健康检查参数 (
max_fails,fail_timeout) - 备份服务器 (
backup) - 长连接配置 (
keepalive)
内置多种生产级配置模板,覆盖常见应用场景:
| 分类 | 模板名称 | 适用场景 |
|---|---|---|
| 前端 | React/Vue SPA | 单页应用,解决 History 模式刷新 404 |
| 前端 | 静态资源服务器 | CDN 源站,长期缓存 + 防盗链 |
| 后端 | Node.js 反向代理 | Express / NestJS / Fastify |
| 后端 | Python 应用代理 | Django / Flask / FastAPI |
| 后端 | WebSocket 实时通信 | Socket.io / WS 长连接 |
| CMS | WordPress (PHP-FPM) | 博客站点,PHP 处理 |
| CMS | Laravel | PHP 框架,伪静态规则 |
| 高可用 | 多后端负载均衡 | 流量分发,故障转移 |
| 高可用 | 蓝绿部署 | 零宕机发布 |
| 安全 | HTTPS 最佳实践 | TLS 1.2+,HSTS,强制跳转 |
| 安全 | 限流配置 | 防 DDoS,API 限流 |
| 安全 | 隐藏敏感文件 | 禁止访问 .git / .env 等 |
智能分析配置,检测潜在问题并给出修复建议。
检测规则分类:
| 类别 | 规则示例 | 严重程度 |
|---|---|---|
| 安全 | 暴露 Nginx 版本号 (server_tokens on) |
🔴 严重 |
| 安全 | 使用 root 用户运行 | 🔴 严重 |
| 安全 | 开启目录索引 (autoindex on) |
🔴 严重 |
| 安全 | 使用不安全的 SSL 协议 (TLSv1/TLSv1.1) | 🔴 严重 |
| 安全 | HTTPS 未强制跳转 | 🟡 警告 |
| 安全 | 缺少安全响应头 (X-Frame-Options 等) | 🟡 警告 |
| 安全 | 未禁止隐藏文件访问 | 🟡 警告 |
| 性能 | 未开启 Gzip 压缩 | 🟡 警告 |
| 性能 | 未开启 Sendfile | 🟡 警告 |
| 配置 | 存在未使用的 Upstream | ℹ️ 提示 |
评分机制:
- 满分 100 分
- 严重问题扣 15 分,警告扣 8 分,提示扣 3 分
- 评级:A (90+) / B (75+) / C (60+) / D (40+) / F (<40)
针对检测到的问题,支持自动修复:
- 单项修复 - 点击问题旁的修复按钮
- 一键全部修复 - 批量修复所有可自动修复的问题
修复能力:
- 自动添加
server_tokens off - 自动修正
user为nginx - 自动移除
autoindex on - 自动升级 SSL 协议到 TLSv1.2+
- 自动配置 HTTP 到 HTTPS 强制跳转(智能处理端口冲突)
- 自动添加安全响应头
- 自动开启 Gzip 和 Sendfile
- 自动添加隐藏文件访问禁止规则
底部预览面板实时生成完整的 nginx.conf 配置文件。
功能:
- 语法高亮显示
- 一键复制到剪贴板
- 导出为
.conf文件 - 导出为
Dockerfile(包含完整部署配置)
支持导入现有的 Nginx 配置文件进行可视化编辑。
导入方式:
- 粘贴配置文本
- 上传
.conf文件
解析能力:
- 自动识别
server、location、upstream块 - 解析 SSL 配置
- 解析负载均衡配置
- 保留自定义指令
可视化模拟请求路径匹配,帮助理解 Location 匹配优先级。
使用方法:
- 输入请求路径(如
/api/users) - 查看匹配到的 Location 节点高亮
- 理解精确匹配 > 前缀匹配 > 正则匹配的优先级
完整的中英文界面切换,包括:
- 界面文案
- 配置说明
- 审计报告
- 模板描述
本项目已集成 Google Analytics 4 (GA4),用于统计生产环境的访问量和功能使用情况。
✅ 完全免费 - 无需部署额外服务器
✅ 隐私优先 - IP 匿名化,符合 GDPR
✅ 用户可控 - Cookie 同意横幅,可选择接受或拒绝
快速配置:
- 创建 GA4 账号并获取 Measurement ID
- 配置环境变量:
cp .env.example .env.local # 编辑 .env.local,替换 VITE_GA_MEASUREMENT_ID - 详细文档:GA4 集成指南
- 前端框架: React 18 + TypeScript
- 构建工具: Vite
- 样式方案: Tailwind CSS
- UI 组件: shadcn/ui
- 画布引擎: @xyflow/react (React Flow)
- 布局算法: Dagre
- 状态管理: React Context
- 访问统计: Google Analytics 4 (react-ga4)
# 克隆仓库
git clone <YOUR_GIT_URL>
# 进入项目目录
cd <YOUR_PROJECT_NAME>
# 安装依赖
npm install
# 启动开发服务器
npm run dev| 功能 | 说明 |
|---|---|
| 可视化画布 | 拖拽节点构建配置 |
| 属性编辑 | 详细的配置项表单 |
| 配置体检 | 问题检测与一键修复 |
| 模板库 | 丰富的预置模板 |
| 实时预览 | 生成的 nginx.conf |
MIT License
Nginx Config Visual Editor is a powerful visual configuration tool for Nginx. Through an intuitive drag-and-drop canvas interface, it helps DevOps engineers and developers quickly build, debug, and optimize Nginx configurations, eliminating the hassle of manual configuration and syntax errors.
- 🎨 Visual Canvas Editor - Build configurations by dragging nodes, WYSIWYG
- 📦 Rich Template Library - One-click application of common scenario templates
- 🔍 Smart Configuration Audit - Auto-detect security risks and performance issues
- 🔧 One-Click Fix - Automatically fix detected configuration issues
- 📝 Real-time Preview - Generate standard nginx.conf in real-time
- 📥 Import/Export - Import existing configs, export as config files or Dockerfile
- 🌐 Bilingual - Full Chinese and English interface support
- 🚀 Traffic Simulator - Visualize request path matching
The canvas is the core interaction area, using React Flow for node-based configuration management.
Supported Node Types:
| Node Type | Description | Nginx Block |
|---|---|---|
| Server Node | Virtual host configuration | server { } |
| Location Node | Path matching rules | location { } |
| Upstream Node | Load balancing backend | upstream { } |
Canvas Operations:
- Drag to Add - Drag nodes from the sidebar to canvas
- Connect Lines - Connect Location to Upstream for proxy config
- Box Select - Batch select and move nodes
- Auto Layout - One-click node arrangement
- Zoom & Pan - Scroll to zoom, drag to pan
When selecting any node, the right property panel allows editing detailed configurations.
Server Node Properties:
- Listen port (
listen) - Server name (
server_name) - SSL/HTTPS configuration
- Root directory (
root) and index files (index) - Force HTTP to HTTPS redirect
- Custom directives
Location Node Properties:
- Path matching modifiers (
=,~,~*,^~, none) - Proxy pass (
proxy_pass) - Proxy headers (
proxy_set_header) - CORS configuration
- WebSocket support
try_filesconfiguration- Rewrite rules (
rewrite) - Access control (
allow/deny) - Basic authentication
Upstream Node Properties:
- Load balancing strategy (Round Robin / Weighted / IP Hash / Least Connections)
- Backend server list
- Health check parameters (
max_fails,fail_timeout) - Backup servers (
backup) - Keep-alive configuration (
keepalive)
Built-in production-grade configuration templates covering common scenarios:
| Category | Template Name | Use Case |
|---|---|---|
| Frontend | React/Vue SPA | Single Page Apps, solve History mode 404 |
| Frontend | Static CDN Origin | CDN origin, long cache + hotlink protection |
| Backend | Node.js Reverse Proxy | Express / NestJS / Fastify |
| Backend | Python App Proxy | Django / Flask / FastAPI |
| Backend | WebSocket Realtime | Socket.io / WS long connections |
| CMS | WordPress (PHP-FPM) | Blog sites, PHP handling |
| CMS | Laravel | PHP framework, pretty URLs |
| HA | Multi-Backend Load Balancing | Traffic distribution, failover |
| HA | Blue-Green Deployment | Zero-downtime releases |
| Security | HTTPS Best Practices | TLS 1.2+, HSTS, force redirect |
| Security | Rate Limiting | Anti-DDoS, API throttling |
| Security | Hide Sensitive Files | Block .git / .env access |
Smart analysis of configurations, detecting potential issues with fix suggestions.
Rule Categories:
| Category | Example Rules | Severity |
|---|---|---|
| Security | Exposing Nginx version (server_tokens on) |
🔴 Critical |
| Security | Running as root user | 🔴 Critical |
| Security | Directory listing enabled (autoindex on) |
🔴 Critical |
| Security | Insecure SSL protocols (TLSv1/TLSv1.1) | 🔴 Critical |
| Security | HTTPS not enforced | 🟡 Warning |
| Security | Missing security headers (X-Frame-Options etc.) | 🟡 Warning |
| Security | Hidden files accessible | 🟡 Warning |
| Performance | Gzip not enabled | 🟡 Warning |
| Performance | Sendfile not enabled | 🟡 Warning |
| Config | Unused upstream exists | ℹ️ Info |
Scoring System:
- Maximum 100 points
- Critical issues: -15 points, Warnings: -8 points, Info: -3 points
- Grades: A (90+) / B (75+) / C (60+) / D (40+) / F (<40)
Auto-fix detected issues:
- Single Fix - Click the fix button next to each issue
- Fix All - Batch fix all auto-fixable issues
Fix Capabilities:
- Auto-add
server_tokens off - Auto-correct
usertonginx - Auto-remove
autoindex on - Auto-upgrade SSL protocols to TLSv1.2+
- Auto-configure HTTP to HTTPS redirect (smart port conflict handling)
- Auto-add security response headers
- Auto-enable Gzip and Sendfile
- Auto-add hidden file access blocking rules
The bottom preview panel generates complete nginx.conf configuration in real-time.
Features:
- Syntax highlighting
- One-click copy to clipboard
- Export as
.conffile - Export as
Dockerfile(with complete deployment config)
Import existing Nginx configuration files for visual editing.
Import Methods:
- Paste configuration text
- Upload
.conffile
Parsing Capabilities:
- Auto-detect
server,location,upstreamblocks - Parse SSL configuration
- Parse load balancing configuration
- Preserve custom directives
Visualize request path matching to understand Location matching priority.
Usage:
- Enter request path (e.g.,
/api/users) - See matched Location node highlighted
- Understand priority: exact match > prefix match > regex match
Complete Chinese and English interface switching, including:
- UI text
- Configuration descriptions
- Audit reports
- Template descriptions
- Frontend Framework: React 18 + TypeScript
- Build Tool: Vite
- Styling: Tailwind CSS
- UI Components: shadcn/ui
- Canvas Engine: @xyflow/react (React Flow)
- Layout Algorithm: Dagre
- State Management: React Context
# Clone the repository
git clone <YOUR_GIT_URL>
# Navigate to project directory
cd <YOUR_PROJECT_NAME>
# Install dependencies
npm install
# Start development server
npm run dev| Feature | Description |
|---|---|
| Visual Canvas | Drag nodes to build config |
| Property Editor | Detailed configuration forms |
| Config Audit | Issue detection & one-click fix |
| Template Library | Rich preset templates |
| Live Preview | Generated nginx.conf |
MIT License