作者回复: 你好,通过nginx暴露内部服务以后,严格讲也不能算直接暴露在公网上。但是,一般不建议通过nginx直接暴露内部服务,因为很可能会有潜在安全性问题,比如某些内部API是涉及敏感安全数据的,不能随便暴露出去,当然可以让运维帮忙在nginx上配安全策略,但是nginx配置安全策略比较麻烦,对开发人员不友好不灵活,很容易犯错,留下潜在安全隐患。通过引入BFF层,可以在内部服务和外网之间引入一层间接,一方面可以增加聚合裁剪适配的逻辑,另外还可以增加安全性,防止内部敏感API被无意暴露出去的可能性,因为BFF是开发人员负责开发的,他们有更大灵活性和控制。
作者回复: bff是聚合层,也有公司叫api层,主要作用是对后端基础服务进行聚合裁剪,对外暴露无线设备友好的api。bff可以用对后端友好的语言开发,也可以用对前端友好的语言如nodejs开发。