问题: 最近在学springcloud,由于是本地测试,所以部署的服务都在本地 并且服务都能直接访问到,简单的说,就是有一个服务a,它的请求路径为 /api/test,该服务可以直接调用,现在我添加了一个网关,可以通过网关转发到这个服务,但这个服务仍能直接调用。生产环境当然不会有这个问题,一般只有网关对外暴露或由nginx转发都不用暴露,但是本地调试这个问题算正常吗?或者怎么配置可以避免?
可以在网关层转发的时候增加一个header,代表他是通过网关层转发的,服务层统一增加拦截器判断是否存在该header。其实网关层一般会拿来做鉴权,鉴权成功会在header中增加jwt,实现服务层的通行证,跟我签名所述的异曲同工。######感谢回答######一般通过网管转发的服务器都是走内网的。你的服务外网端口不会暴露出去。你要是把自己的服务都暴露出去了,那肯定是拦不了直接调用。加鉴权也只是拦截请求是否合法。唯一的做法就是服务不暴露公网。######生产环境可将所有微服务不暴露出去,只需要暴露网关服务就行了,网关调用其他服务都是走内网,懂的话敲个1
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。