在本地浏览器堆栈中,“--proxy-host”和“--local-proxy-host”有什么区别?

In browser stack local, what is the difference between '--proxy-host' and '--local-proxy-host'?

BS 有几篇文章讨论 proxy/firewall。

1) https://www.browserstack.com/local-testing#modifiers

2) https://www.browserstack.com/downloads/Local-Testing-Internals.pdf

在参考文献 2 中,似乎 BS 人唯一想到的 proxy/firewall 场景是:防火墙存在于 BS 本地(和内部服务器)和 BS 基础设施之间。

然后在参考文献1中,我完全被搞糊涂了:

BrowserStackLocal.exe  --key ACCESS_KEY --proxy-host <proxy_host> --proxy-port <proxy_port>
BrowserStackLocal.exe --key ACCESS_KEY --local-proxy-host <browsermob_proxy_host> --local-proxy-port <browsermob_proxy_port> --local-proxy-user <proxy_username> --local-proxy-pass <proxy_password>

何时使用其中之一?

我也不明白参考文献1中说的'behind proxy'和'behind firewall or VPN'有什么区别。假设我在受防火墙保护的公司环境中进行测试,那么 'behind a proxy' 是什么?

有人能澄清一下吗?

可能会发生三种情况。

  1. 您有一个简单的 HTTP 代理(代理应该将流量列入白名单 *.browserstack.com)

    BrowserStackLocal.exe --key ACCESS_KEY --proxy-host --proxy-port

  2. 你有中间人代理,也可以直接上网(browserstack.com)

./BrowserStackLocal.exe --key ACCESS_KEY --local-proxy-host <browsermob_proxy_host> --local-proxy-port <browsermob_proxy_port>

在这种情况下,我们不接受 local-proxy-host 并尝试直接连接到 browserstack.com 所有其他流量都通过您的代理。

  1. 您有 MITM 代理,也无法直接访问互联网(browserstack.com)。

BrowserStackLocal.exe --key ACCESS_KEY --proxy-host <proxy_host> --proxy-port <proxy_port> --local-proxy-host <browsermob_proxy_host> --local-proxy-port <browsermob_proxy_port>

也应该列入白名单 *.browserstack.com。在这种情况下,您的内部流量将通过您的 MITM 代理,并且 browserstack.com 相关请求将通过您的 proxy_host 参数

此外,我建议联系 browserstack 支持此类查询。 免责声明:我在 browserstack 工作。