Jetty 12.1 按主机和端口的代理排除
对精确主机和可选端口使用 Jetty 12.1 代理的排除地址集合,而不是假设 JVM nonProxyHosts 控制客户端。
Jetty 12.1 的 HTTP 客户端把目标排除项保存在每个代理对象上。在请求开始前添加它们:
var proxy = new org.eclipse.jetty.client.HttpProxy(
"proxy.example", 8080);
proxy.getExcludedAddresses().add("internal.example:443");
jettyClient.getProxyConfiguration().addProxy(proxy);
jettyClient 是应用现有的 org.eclipse.jetty.client.HttpClient,具有正常的启动和关闭生命周期。对于允许的公共目标,HTTP 代理列表 提供 HttpProxy 主机和端口的候选;保留预期的内部排除项。
该条目匹配端口 443 上的 internal.example。不带端口时,主机条目匹配该主机的任意端口。主机名匹配是精确的:逐个添加每个预期主机,而不是提供 JVM nonProxyHosts 通配符或用竖线分隔的列表。
排除会让这个代理对象不再匹配该来源。配置了多个代理时,另一个代理仍可能匹配;在把结果称为直连路由之前,请检查剩余的候选。