## 问题描述
有个第三方的数据查询接口地址 A, 直接在页面调用这个接口获取数据, 因为客户端有网络权限, 不能直接访问地址 A, 而服务端 B 是可以正常访问, 现在需要改为从服务器B访问这个接口地址A, 现在有两种解决办法,
1. 直接页面请求服务端B, 然后在 B 的 Controller 类中 去请求 接口A, 然后返回数据给客户端.
2. 使用 Nginx 方向代理 (这种方法比较好, 但是暂时不用此方法, 涉及服务比较多, 怕对其他服务有影响)
## 我的问题
1. 这种直接调第三方接口获取数据正常处理逻辑, 我们应该是从后端调用, 还是可以从前端页面调用呢?
2. 有没有其他比较简单的方法
不建议第二种方式。
从一个服务端开发人员角度回答下这个问题。从安全级别角度服务端一般提供以下几类接口服务
1.公网域名访问,没有任何认证限制。 这种接口类型很少,没有任何安全限制,一般也是 提供一些公共类服务,类似天气查询之类的。
2.公网域名访问,客户端身份认证。只允许认证过的客户端访问。但也不能完全避免 一些恶意访问,取决于认证方式的安全级别。
3.内网访问。可能再加上ip识别。这种从物理上隔绝外部恶意访问。主要是一些接口业务隐私性较高,权限较大。防止被恶意刷数据or篡改数据。
所以第三种接口服务 最怕就是 用问题的第二种方式,变相把接口 暴露到公网了。
对于内网访问接口,不要觉得 后台服务只是做了一层转发毫无意义的动作,把它看作一种业务逻辑来封装处理。同时前后端做好安全认证。
非常感谢, 我这正好属于 3. 内网访问 情况
后端调用好,1这种就已经很简单了
就用第一种了