我希望有人可以在这里提供一些想法。我正在使用Spring Cloud Gateway的一些示例应用程序,并浏览了文档,但是我没有看到任何路由到self或进行全局忽略的方法。这里的想法是,总有一些路径需要指向自身,例如对于执行器,还有一些路径可能需要全局阻止(也许出于安全原因,例如您发现了严重的漏洞并需要禁止访问具体资源)。从目前的情况看,我无法做到这一点,但我希望我做错了!
我已经设置了应用程序,执行器在端口8081上运行,服务器在8080上运行。 我有两个简单的规则:
- id: local_test_1
uri: http://localhost:80
order: 9000
predicates:
- Path=/echo
# =====================================
- id: local_test_2
uri: ${test.uri}
order: 10000
predicates:
- Path=/**
但是通用/ **确保对localhost:8081 / actuator / *的任何调用也都路由到uri。如何从路由规则中排除管理端口,以便服务器本身可以处理请求?
我认为默认过滤器--Path!= $ {management.server.port} / *可能有效,但似乎不支持!=。
答案 0 :(得分:0)
您可以将no://op
用作uri:
的值。
我看到的唯一缺点是,未找到任何端点(例如/actuator/foo
)仍将返回200 OK。
答案 1 :(得分:0)
- id: local_test_1
uri: http://localhost:80
order: 9000
predicates:
- Path=/echo
# =====================================
- id: local_test_2
uri: ${test.uri}
order: 10000
predicates:
- Path=/**
尝试在- Path
之前添加两个空格,问题可能出在您的配置不起作用。
答案 2 :(得分:0)
也许您可以将- Path=/**
和- setStatus=404
用于其过滤器,并将执行器路径- Path=/actuator/**
和- setStatus=ACCEPTED
用于{1}} >