按 URL 路径选择不同后端
为同一域名配置多个路径前缀,并把请求转发到不同内网服务
同一个域名可以创建多条 HTTP(S) 隧道规则,通过“URL 路径前缀”把请求分给不同内网服务。例如 API、静态资源和默认站点可以共用一个公网域名。
配置示例
为 app.example.com 创建三条规则:
| URL 路径前缀 | 目标地址(IP:端口) | 匹配示例 |
|---|---|---|
/api/ | 192.168.1.20:8080 | /api/users |
/static/ | 192.168.1.21:8080 | /static/app.css |
| 留空 | 192.168.1.22:3000 | 其他所有路径 |
留空按 / 匹配;多个规则同时匹配时使用最长前缀,所以 /api/admin/ 可以覆盖更宽的 /api/。
配置文件模式:
匹配规则
- 匹配是区分大小写的字面前缀,不是正则表达式。
- 建议目录规则以
/结尾;/api也会匹配/apix。 - NPS 只按前缀选择目标,不会移除路径。后端仍收到完整的
/api/users。 - HTTP keep-alive 后续请求会再次检查 Host 和路径,必要时切换规则。
- HTTPS 必须在 NPS 上配置证书并终止 TLS。TLS 透传看不到 URL 路径,不能可靠地做路径分流。
为每个目标准备一个可识别的健康或版本响应,逐条请求边界路径,例如 /api/、/api2、/static/ 和 /。出现路由错误时,先检查是否缺少尾部斜杠,以及是否存在更长的前缀规则抢先匹配。