Nginx Config Creator

🌐 安全代理配置一键生成,失败自动回滚

自动创建 Nginx/OpenResty 反向代理配置,内置熔断回滚机制,测试失败自动撤销,防止服务器宕机。

收藏
6.8k
安装
2.6k
版本
0.1.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

本 Skill 通过单条命令自动化完成 Nginx/OpenResty 反向代理配置的全流程:

1. 参数解析:从命令行参数或环境变量读取服务名、域名、端口、配置路径和容器名
2. 配置生成:在指定目录创建 .conf 配置文件

3. 安全测试:在 Docker 容器内执行 nginx -t 验证语法

4. 决策执行:测试通过则 nginx -s reload 热重载;失败则自动删除配置文件回滚

使用方式

推荐做法(预置环境变量):

export NGINX_CONFIG_PATH="/opt/1panel/apps/openresty/openresty/conf/conf.d"
export NGINX_CONTAINER_NAME="1Panel-openresty-1Mjq"

bash skills/nginx-config-creator/scripts/create-and-reload.sh \
  --service-name "n8n" \
  --domain "994431.xyz" \
  --port "5678"

完整参数模式(无环境变量):

bash skills/nginx-config-creator/scripts/create-and-reload.sh \
  --service-name "n8n" --domain "994431.xyz" --port "5678" \
  --config-path "/path/to/conf.d" \
  --container-name "nginx-container"

显著优点

  • 熔断安全机制:核心亮点是"测试-决策"模式,配置错误时自动回滚,绝对避免线上服务中断
  • 环境感知设计:支持环境变量预配置,大幅简化日常命令长度
  • 容器原生:专为 Docker 化 Nginx/OpenResty 部署设计,契合现代 DevOps 实践
  • 零依赖入侵:纯 Bash 脚本实现,不引入额外工具链

潜在缺点与局限性

  • 单域名限制:仅支持单域名配置,不支持多域名、通配符或复杂 location 规则
  • 模板固定:内置配置模板不可自定义,无法满足高级负载均衡、缓存策略等需求
  • Docker 强绑定:必须指定容器名,裸机部署 Nginx 需额外适配
  • 权限隐含假设:脚本需具备写入配置目录及执行 Docker 命令的权限,未显式校验
  • 无备份机制:回滚即删除,原配置(如有)不做版本保留

适合人群

  • 使用 1Panel 等面板管理 OpenResty/Nginx 的运维人员
  • 需要快速为内部服务(如 n8n、Uptime Kuma 等)暴露公网访问的开发者
  • 追求"一键安全上线"、不愿手动编辑配置的小团队

常规风险

| 风险点 | 说明 |
|--------|------|
| 配置覆盖 | 同名 service-name 会直接覆盖现有 `.conf` 文件,无提示 |
| 容器误配 | 错误的 `--container-name` 会导致 `docker exec` 失败 |
| 路径穿越 | `--config-path` 未做严格校验,理论上可指向任意可写目录 |
| 权限提升 | 脚本以当前用户权限执行 Docker 命令,若用户属 docker 组则具备 root 等效能力 |

建议在 staging 环境充分验证后再用于生产。

Nginx Config Creator 内容

scripts文件夹
手动下载zip · 4.3 kB
create-and-reload.shtext/x-shellscript
请选择文件