背景:
A:客户端
B:应用服务器
C:文件服务器
B和C之间的网络是正常,应用服务器可以正常上传下载文件。
A和B网络是正常的,用户可以正常访问系统。
A和C的网络不通,文件服务器出于安全等原因考虑不对用户开放。
解决方案:
方案一:后端直接获取文件流,以流形式返回给前端给用户(这里我们不用这种)
方案二:通过nginx进行代理,类似VPN,让客户端A通过应用服务器B代理访问文件服务器C
步骤:
(1)、nginx代码文件服务器
location ^~ /files-proxy/ {
proxy_pass http://文件服务器域名/;
}
(2)、后端接口返回的链接需要替换域名为代理地址
注意:如果链接给第三方使用,最好加上nginx部署所在ip,不然无法定位到,如下图的files-proxy改为 ip地址/files-proxy


本文介绍了一种解决A客户端无法直接访问C文件服务器的问题,通过在应用服务器B上配置Nginx作为代理,使得客户端能间接访问文件。主要步骤包括在Nginx中设置文件服务器的代理规则,并确保后端接口返回的链接使用代理地址,以便第三方使用时能正确定位。
1186

被折叠的 条评论
为什么被折叠?



