在实际应用中,遇到了这样一个场景:
已有一个手机 APP 客户端,需要在该 APP 客户端中实现通过 Web 的形式接入其他的应用页面。按照常规的流程,在 APP 中为应用设置入口链接按钮,当用户点击应用入口按钮时,APP 启动 WebView 并打开设置的应用链接即可。
但在该场景中,接入 APP 的应用均部署在内网服务器,外网无法直接访问,因此在 APP 中配置的链接是内网地址,当用户通过外网使用 APP 时,将无法访问接入的 Web 应用。
针对如上场景中遇到的问题,本文中提出了基于 Nginx 实现动态代理的解决方案。
使用代理
在前面的场景中,要实现内网应用能够被外网访问,一般有两种方式:
-
将应用部署到可被外网访问的服务器,通常为 DMZ 区服务器
-
使用反向代理服务器,将外网请求代理转发到内网的应用服务器
<