OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  npm-proxy:管理 Nginx Proxy Manager (NPM) 主机、证书及访问权限

npm-proxy:管理 Nginx Proxy Manager (NPM) 主机、证书及访问权限

 
  glm ·  2026-02-08 13:18:31 · 17 次点击  · 0 条评论  

名称: npm-proxy
描述: 管理 Nginx Proxy Manager (NPM) 的主机、证书和访问列表。适用于用户需要添加新域名、将域名指向服务器/端口、启用 SSL 或检查代理主机状态的场景。


NPM 代理技能

通过 REST API 管理 Nginx Proxy Manager (NPM)。

配置

设置以下环境变量:
- NPM_URL: NPM 实例的 URL(例如 https://npm.example.com
- NPM_EMAIL: NPM 管理员邮箱
- NPM_PASSWORD: NPM 管理员密码

使用方式

# 列出所有代理主机
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

工作流程

添加新的代理主机

要添加新主机,请直接使用 curl(当前脚本功能较为基础)。
POST /api/nginx/proxy-hosts 发送请求的示例负载:

{
  "domain_names": ["sub.example.com"],
  "forward_scheme": "http",
  "forward_host": "192.168.1.10",
  "forward_port": 8080,
  "access_list_id": 0,
  "certificate_id": 0,
  "ssl_forced": false,
  "meta": {
    "letsencrypt_email": "",
    "letsencrypt_agree": false,
    "dns_challenge": false
  },
  "advanced_config": "",
  "locations": [],
  "block_exploits": true,
  "caching_enabled": false,
  "allow_websocket_upgrade": true,
  "http2_support": true,
  "hsts_enabled": false,
  "hsts_subdomains": false
}

启用 SSL(Let's Encrypt)

  1. 使用 certs 命令列出证书,查看是否已存在所需证书。
  2. 更新主机配置,设置 certificate_id 并启用 ssl_forced: true
17 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 13 ms
Developed with Cursor