我想通过系统属性设置nonProxyHosts
我希望除两个URL之外直接访问所有HTTP URL。为此,不要为nonProxyHosts
配置risky
的所有主机名,而不是proxied
我是否可以通过正则表达式对其进行配置,该表达式使所有URL都减去了http.nonProxyHosts=[^*host1*]|[^*host2*]
的URL。
我的正则表达式可以是这样的吗?
{{1}}
答案 0 :(得分:0)
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;
}
}
从here获取完整的信息/代码
通过这种方式,您可以获得一个非代理模式。对于两个,您必须将函数的返回类型更改为TRUE/FALSE
,然后它才会正常。