NPM代理管理NPM代理管理
NPM代理管理

技能简介

通过REST API管理Nginx Proxy Manager(NPM)的代理主机、SSL证书和访问列表,支持查看、启用、禁用及删除代理配置。

业务背景

运维团队常需批量调整Nginx Proxy Manager的代理配置,如临时下线故障服务、清理过期证书或排查访问异常。本工具通过REST API直接操作NPM实例,无需登录Web界面即可快速查看代理状态、启停主机及删除废弃配置,减少人工操作环节,提升DevOps响应效率。

落地案例:某电商平台大促期间,后端支付服务出现异常。运维人员通过该工具调用host_id快速定位对应代理主机,执行禁用操作切断流量,避免故障扩散;待服务恢复后,一键重新启用代理,全程无需登录NPM控制台。日常还可定期列出所有代理主机,识别并删除已下线的业务域名,保持配置整洁。

能做什么

  • 列出所有代理主机及其状态
  • 查看指定主机的详细配置
  • 启用或禁用代理主机
  • 删除不再使用的代理主机
  • 查询已安装的SSL证书列表

使用说明

环境准备

安装Python依赖后,设置以下环境变量:

export NPM_URL="https://npm.example.com"
export NPM_EMAIL="admin@example.com"
export NPM_PASSWORD="your_password"

常用操作

# 查看所有代理主机
python scripts/npm_client.py hosts

# 获取指定主机详情
python scripts/npm_client.py host <host_id>

# 启用/禁用主机
python scripts/npm_client.py enable <host_id>
python scripts/npm_client.py disable <host_id>

# 删除主机
python scripts/npm_client.py delete <host_id>

# 查看证书列表
python scripts/npm_client.py certs

输入与输出

见下方输入与输出表格。

项目内容
输入NPM_URL、NPM_EMAIL、NPM_PASSWORD环境变量;host_id等命令参数
输出JSON格式的代理主机列表、主机详情、证书信息或操作状态
适用人群运维工程师、DevOps人员、自建服务器管理员
不包含NPM服务端部署、自动SSL申请、可视化界面操作

 

风险提示

  • 删除主机操作不可逆,请确认后再执行
  • 禁用主机将导致对应域名无法访问
  • API凭证需妥善保管,避免泄露管理员权限
  • 直接修改生产环境配置前建议备份

来源信息

原始链接:https://github.com/openclaw/skills/tree/main/skills/weird-aftertaste/npm-proxy/SKILL.md
来源类型:GitHub仓库

数据统计

相关导航

暂无评论

none
暂无评论...