如何配置多个浏览器实例以通过不同的 VPN 服务器进行连接?
我在 Linux 服务器中工作,我需要每个浏览器实例使用不同的 VPN 服务器。
已编辑
目标是使用 5 个不同的 Selenium 实例同时导航同一个网页,每个实例都应该具有来自不同国家的 IP。
所以,我想到解决方案是当每个代理都使用 VPN 时使用不同的代理。
那有意义吗?
我对这些主题非常陌生,所以如果 SSH 是一个很好的解决方案,我希望收到有关如何使用 SSH 解决方案获得正确连接的更多信息。请帮助我理解在连接上使用每个参数意味着什么以及如何为此配置代理。
答案1
每个浏览器窗口代理
不太可能存在针对每个选项卡的解决方案。但是,您可以使用配置文件功能(或隐身模式)来允许多个浏览器实例。然后每个浏览器窗口都可以管理自己的扩展程序,从而可以管理自己的代理设置。以下是我在 Chrome 中执行的操作。
- 在浏览器窗口的右上角,点击当前用户的按钮。它可能会显示该人的姓名、电子邮件或人形图标。
- 单击“切换人物”。
- 在窗口底部,点击添加人员。创建一个新帐户。
- 安装代理 SwitchOmega。Chrome 商店中有许多代理管理扩展,这是我尝试过的,对我来说很有用。为此窗口配置它。设置不会共享给其他角色。
每个标签都有代理(但事实并非如此)
我认为除了使用单独的浏览实例之外,没有其他可行的解决方法。您提到您正在对一个页面执行此操作。在这种情况下,您可以通过在本地主机上使用端口重定向来执行此操作。
设置两个 SSH 端口重定向
例如,通过两个不同的服务器设置两个 SSH 端口重定向,可以使用以下命令。
ssh -L 8888:example.com:80 [email protected]
ssh -L 9999:example.com:80 [email protected]
每个浏览器实例都会访问不同的端口。
让一个浏览器指向127.0.0.1:8888
,另一个浏览器指向127.0.0.1:9999
问题
- 这不是 VPN。您无法保证所有浏览器流量都会通过 SSH 连接。例如,任何获取外部域上图像或脚本的资源都将通过您的主机连接。只有目标
127.0.0.1:8888
或的资源127.0.0.1:9999
才会通过隧道路由。如果网页有绝对 URL,您必须手动编辑链接以反映端口。 - 服务器可能对
Host:
标头很挑剔。在这种情况下,您可以使用标头编辑扩展来静态设置标头。
答案2
答案3
此解决方案适用于 macOS,但该概念显然也适用于任何其他系统:
使用 Firefox 是因为它具有内置的代理设置,可以在不影响操作系统上安装的任何其他 Firefox 的情况下进行配置,并且与其他浏览器相比运行完美,不要对 macOS 使用 chrome。
将多个 firefox.app 实例复制到不同的文件夹中。如果您想同时运行 5 个 Firefox 浏览器实例,每个实例都有不同的 nordvpn IP,那么您需要在不同的文件夹中拥有 5 个 firefox.app 副本。只需将 firefox.app 复制并粘贴到不同的位置即可。
然后启动每个 firefox.app 并转到网络配置,为每个 firefox 浏览器添加不同的 nordvpn 服务器 IP...尽情享受吧。