Apache camel 驼峰休息-允许特定ip访问发送请求

Apache camel 驼峰休息-允许特定ip访问发送请求,apache-camel,camel-http,Apache Camel,Camel Http,我有下面的骆驼休息路线。当前,所有主机都可以使用公开的URL访问此路由 我是否可以根据配置的IP限制远程主机访问。 我想允许某些IP地址访问此URL。camel中是否有任何配置可用于处理此问题 rest("/api/") .id("reset-api-route") .get("/reset") .to("direct:resetRoute"); 使用camel-netty4-http组件,您可以在头中包含远程IP地址 不过,在应用程序之前在防火

我有下面的骆驼休息路线。当前,所有主机都可以使用公开的URL访问此路由

我是否可以根据配置的IP限制远程主机访问。 我想允许某些IP地址访问此URL。camel中是否有任何配置可用于处理此问题

rest("/api/")
        .id("reset-api-route")
        .get("/reset")
        .to("direct:resetRoute");

使用camel-netty4-http组件,您可以在头中包含远程IP地址

不过,在应用程序之前在防火墙上进行网络级隔离可能更有意义

使用camel-netty4-http,您可以对远程IP进行如下检查和逻辑操作:

@覆盖
public void configure()引发异常{
restConfiguration()
.component(“netty4 http”)
.host(“本地主机”)
.港口(8000)
.bindingMode(RestBindingMode.auto);
rest(“/api/”)
.id(“重置api路由”)
.get(“/reset”)
。至(“直接:重置路线”);
从(“直接:重置路线”)
.log(${in.headers.camelnetyremoteAddress})
.choice()
.when(header(“CamelNettyRemoteAddress”).startsWith(“/127.0.0.1:”)//localhost
.transform().constant(“允许”).endChoice()
.否则()
.transform()常量(“拒绝”);
}
如果您的Camel应用程序在springboot中运行,那么您可以使用springsecurityip过滤。还要记住,如果您的应用程序位于负载平衡器之后,那么根据负载平衡器的不同,您可能总是看到负载平衡器的地址,而不是原始调用者的地址