我目前正在我的 Mac 上开发一个 JavaScript (Sencha) 应用程序,它与一个 http REST 服务接口(interface)。
该服务已经在其他地方(在另一个域上)就位,我无法控制它。由于我是在自己的 Mac 上开发该应用程序,因此 http 请求目前是跨域的,因此除非我禁用浏览器安全性,否则它们将无法工作。
我的一个在 PC 上工作的 friend 说他的解决方案是使用 Apache 设置一个反向代理,它以某种方式使应用程序(域是本地主机)认为服务的域也是本地主机。我不完全确定他的意思,也不知道如何在我的 Mac 上执行此操作。有什么建议吗?
最佳答案
对于那些寻求强大但免费的解决方案的人,mitmproxy可以充当 reverse proxy .它是一个命令行工具,但具有交互式 CLI,还提供了一个 Web 界面。可以直接download it here ,它只是一个二进制文件。
要将其作为反向代理运行,只需使用
./mitmproxy --mode "reverse:https://real-destination.example.com"
然后让您的客户端连接到 https://localhost:8080
。所有请求都转发到 https://real-destination.example.com
并且 TLS 被分解,所以你可以查看数据包(通常你必须在你的系统上将其标记为 install the CA Certificate of mitmproxy相信可以完成这项工作)。
对于那些寻求具有交互式 UI 的解决方案的人来说,这是一个更高级别的解决方案,可以为您完成所有系统配置,并且不介意为此花一些钱,Charles也可以充当 reverse proxy它允许您从 UI 应用程序中配置所有内容。 Charles 还可以在 App Store 上获得 iOS 版本。
关于javascript - 如何在 Mac 上设置反向代理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8153151/