微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

拒绝从Docker中运行的服务端点调用'localhost',0.0.0.0或127.0.0.1

如何解决拒绝从Docker中运行的服务端点调用'localhost',0.0.0.0或127.0.0.1

我有一个公开端点的服务,其主要目的是根据提供的JSON数据(URL,端口,正文,标头等)执行自定义HTTP调用。 该服务在Cloud环境中的Docker容器内运行。

如何防止用户能够向服务器本身发出ex的循环调用post http://myservice.com/invoke body: {'url': 'localhost:8080/invoke','method': 'get'}

以及如何拒绝“ localhost”,“ 0.0.0.0”或“ 127.0.0.1” URL,以便服务器无法在容器内找到并调用它们并执行对未公开端点的请求? (例如,我的服务还具有'\stats'端点,该端点无法从公共VPC访问,但可以在私有VPC内访问,因此调用'myservice.com/invoke {'url': 'localhost:8080/stats','method': 'get'}'将使该端点对私有VPC之外的用户可访问)。

我简单的Dockerfile:

FROM registry.access.redhat.com/ubi8/ubi-minimal
copY build/my-service-1.0-SNAPSHOT-runner my-service
RUN chmod +x my-service
EXPOSE 8080
CMD ["./my-service"] 

谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。