问题是:我确实有几个 python 包确实有 unittest 需要访问不同的在线服务才能运行,比如连接到 postgresql 数据库或 LDAP/AD 服务器。
在许多情况下,这些不会成功执行,因为本地网络有防火墙,只允许基本的传出流量在 22、80、443、8080 和 8443 等端口上。
我知道您首先想到的是:构建一个 VPN。这不是我正在寻找的解决方案,这是由于两个重要问题:会影响在同一台机器上运行的其他软件,可能会破坏它们。
我想到的另一个解决方案是 SSH 端口转发,我成功使用了它,但这也很难配置,更糟糕的是,它确实需要我重新配置 python 脚本尝试连接的地址,我不想走这条路。
我正在寻找一种可以像这样工作的解决方案:
- 检测是否有防火墙阻止您的访问
- 设置绕过策略(代理?)
- 运行脚本
- 恢复设置。
有没有办法以透明的方式设置它,不需要我对执行的脚本/应用程序进行更改?