关于 secure-endpoint
secure-endpoint 是用于 ngrok Traffic Policy 的技能,帮助为端点配置访问控制、限流和边缘响应,无需修改应用代码。适用于需要在应用外管理端点防护的场景。
主要功能
- 01配置 OAuth/OIDC 登录门控
- 02按 IP 地址或网段限制访问
- 03按路径或条件拒绝请求
- 04限制请求速率
- 05在边缘返回自定义响应
- 06添加或移除请求头
适用场景
- 01为端点要求登录并限制特定用户
- 02仅允许指定 IP 或 CIDR 访问
- 03限制客户端请求速率以保护上游
- 04维护期间从边缘返回自定义页面
MCP 相关
技能说明在 ngrok MCP 服务已连接时,可先验证 Traffic Policy;策略配置和端点状态可通过相关 ngrok 工具处理。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ ngrok/ skills --skill secure-endpoint安装后在 Claude Code 中输入/secure-endpoint确认已加载。
详细介绍
保护端点
使用 Traffic Policy 为端点添加访问控制、限流或边缘响应,无需修改应用。一项技能涵盖常见的访问限制;请跳转到符合需求的场景。
开始之前
需要身份验证(ngrok-setup)。从 ngrok-engine 获取操作配置;如果要保护的端点是私有接收器,还需获取内部绑定规则。
场景
要求登录(OAuth / OIDC)
在身份提供商后为端点设置访问限制,然后可选择限制特定用户。
on_http_request:
- actions:
- type: oauth
config: { provider: google }
- expressions:
- "!actions.ngrok.oauth.identity.email.endsWith('@yourcompany.com')"
actions:
- type: deny
完整的提供商列表和原始 OIDC 配置:ngrok-engine -> ngrok-engine/references/auth-actions.md。
限制为特定 IP
仅允许已知地址/CIDR;拒绝其余请求。
on_http_request:
- actions:
- type: restrict-ips
config:
enforce: true
allow:
- 203.0.113.4/32
- 198.51.100.0/24
对于地址范围,请使用 restrict-ips。conn.client_ip in [...] 会进行精确的字符串
比较:它能匹配单个地址('203.0.113.4'),但绝不会匹配 CIDR,因为
203.0.113.4 不等于字符串 203.0.113.4/32——因此 CIDR 列表
不会匹配任何内容,规则会拒绝所有人。restrict-ips 用于评估 CIDR。对于少数几个精确地址,CEL in 测试是可行的。
阻止路径或条件(拒绝)
on_http_request:
- expressions: ["req.url.path.startsWith('/admin')"]
actions:
- type: deny
config: { status_code: 403 }
限流
按客户端限流,以保护上游。请从 ngrok-engine 获取当前的 rate-limit 操作配置(它需要名称、速率、桶键、算法和容量),并像其他操作一样将其附加上去。
维护页面 / 自定义响应
直接从边缘返回响应,不访问上游。
on_http_request:
- actions:
- type: custom-response
config:
status_code: 503
headers: { content-type: text/html }
body: "<html><body><h1>Back soon</h1></body></html>"
不会访问应用的健康检查:
on_http_request:
- expressions: ["req.url.path == '/healthz'"]
actions:
- type: custom-response
config:
{
status_code: 200,
headers: { content-type: text/plain },
body: "ok",
}
添加 / 移除标头
通常作为辅助步骤(注入上游身份验证标头、添加 CORS、移除标头)。请参阅 ngrok-engine 中的 add-headers。
组合使用
规则按顺序运行;可以叠加使用。典型的 API 网关入口:restrict-ips -> oauth -> rate-limit -> forward。将终止操作(deny、custom-response)放在应停止执行链的规则中。
应用策略
在用户使用的入口配置策略——请参阅 ngrok-surfaces。策略正文在各处都相同。如果已连接 ngrok MCP 服务,请先验证策略(请参阅 ngrok-engine)。
给 Agent 的说明
- 根据用户的描述匹配场景;不要一股脑列出所有场景。
- 这些规则可以与其他任务组合使用:保护 Webhook 接收器时,可将此技能的身份验证规则与
receive-webhooks的 verify+forward 结合使用。 - 无需修改应用代码——如果你正准备使用应用的身份验证中间件,请停下;这正是此策略要替代的内容。