nonProxyHosts
我想通过系统属性进行设置。
我希望所有 HTTP URL 都可以直接访问,除了两个 URL。为此,不是为 配置所有主机名nonProxyHosts
,而是risky
我可以通过一个正则表达式配置它,该表达式给出所有 URLS 减去要成为的proxied
URLS
我的正则表达式可以是这样的吗?
http.nonProxyHosts=[^*host1*]|[^*host2*]
protected Pattern createNonProxyPattern(String nonProxyHosts) {
if (nonProxyHosts == null || nonProxyHosts.equals("")) return null;
// "*.fedora-commons.org" -> ".*?\.fedora-commons\.org"
nonProxyHosts = nonProxyHosts.replaceAll("\\.", "\\\\.").replaceAll("\\*", ".*?");
// a|b|*.c -> (a)|(b)|(.*?\.c)
nonProxyHosts = "(" + nonProxyHosts.replaceAll("\\|", ")|(") + ")";
try {
return Pattern.compile(nonProxyHosts);
//we don't want to bring down the whole server by misusing the nonProxy pattern
//therefore the error is logged and the web client moves on.
} catch (Exception e) {
log
.error("Creating the nonProxyHosts pattern failed for http.nonProxyHosts="
+ nonProxyHosts
+ " with the following exception: "
+ e);
return null;
}
}
通过这种方式从这里获取完整的信息/代码,
您可以获得一个非代理模式。对于两个,您必须将函数的返回类型更改为TRUE/FALSE
,然后它就可以了。