0

问题是:我确实有几个 python 包确实有 unittest 需要访问不同的在线服务才能运行,比如连接到 postgresql 数据库或 LDAP/AD 服务器。

在许多情况下,这些不会成功执行,因为本地网络有防火墙,只允许基本的传出流量在 22、80、443、8080 和 8443 等端口上。

我知道您首先想到的是:构建一个 VPN。这不是我正在寻找的解决方案,这是由于两个重要问题:会影响在同一台机器上运行的其他软件,可能会破坏它们。

我想到的另一个解决方案是 SSH 端口转发,我成功使用了它,但这也很难配置,更糟糕的是,它确实需要我重新配置 python 脚本尝试连接的地址,我不想走这条路。

我正在寻找一种可以像这样工作的解决方案:

  • 检测是否有防火墙阻止您的访问
  • 设置绕过策略(代理?)
  • 运行脚本
  • 恢复设置。

有没有办法以透明的方式设置它,不需要我对执行的脚本/应用程序进行更改?

4

1 回答 1

1

是否可以让脚本本身通过这些步骤运行?我的意思是让你的单元测试的设置阶段探测防火墙,如果检测到以某种方式动态设置代理,使用它来运行单元测试,然后在完成拆卸代理时。这似乎可以实现您的目标透明度。

于 2014-08-08T09:22:26.610 回答