.NET NO_PROXY 中的父域与子域
当 .NET 环境代理策略还需要绕过其子域时,请有意把父域包含进来。
在 .NET 有文档记录的环境代理规则中,.example.com 只匹配子域,不匹配 example.com 本身。这个细微差别可能把一个服务拆到两条路径上。
| 条目 | 预期的 .NET 匹配 |
|---|---|
example.com | 父主机名 |
.example.com | 该域下的主机名 |
example.com,.example.com | 两组都包括 |
假设落地页使用父名称,而它的 API 使用 api.example.com。只包含带点形式的列表可能让落地页走代理,而 API 直连。相反的错误是只列父域,却指望每个子域都匹配。 检查 HttpClient.DefaultProxy.IsBypassed 对父域和一个子域分别调用,以核实实际生效的决定。
这适用于参与其中的 .NET HTTP 客户端所使用的环境策略。显式指定的 IWebProxy、其他处理程序实现或其他运行时版本,都需要单独核对自己的规则。不要假设浏览器的绕过列表已经变成了这个环境列表。
也不要习惯性地把该设置写成 *.example.com。有文档记录的 .NET 环境语法并不把星号当作通用通配符。
把可用的 curl 命令与应用对比时,请在报告里保留字面 URL。“同一台服务器”会掩盖你请求的是父域、子域还是 IP 地址。域匹配针对的是那个请求输入,而不是你对服务的口头称呼。