我正在研究在一组后端API前面使用Zuul(Spring Cloud)作为边缘代理的可能性。
Zuul提供了一些用于监视和管理目的的默认端点。我想知道保护这些端点免受公共访问的最佳方法是什么。理想情况下,我只想允许从内部主机访问这些端点,例如,监视工具正在运行。
您可以使用Oauth2作为端点安全性。在我的项目中,我使用下面的依赖
<dependency>
<groupId>org.springframework.security.oauth</groupId>
<artifactId>spring-security-oauth2</artifactId>
</dependency>
你必须在yml文件中给oauth2服务器位置,如下所示。
security:
oauth2:
resource:
user-info-uri: http://localhost:8081/user
另外你可以关注这个video。
我理解您提出的解决方案。但这是否也意味着保护默认端点,例如\ routes等,还有执行器端点\ health \ metric&\ env等。
我想我们将使用一个简单的反向代理来侦听每个zuul实例前面的不同端口,只显示我们想要公开的URL路径。只应通过反向代理端口允许公共流量。