【发布时间】:2018-01-27 20:24:25
【问题描述】:
我正在创建一个 Python 3 蜘蛛,用于抓取 Tor 隐藏服务以获取有用数据。我使用psycopg2 库将这些数据存储在PostgreSQL 数据库中。目前,蜘蛛脚本和数据库托管在同一个网络上,因此它们通信没有问题。但是,我计划将数据库迁移到 VPS 上的远程服务器,以便我可以让一组用户从多个远程位置运行蜘蛛脚本,所有这些都为同一个数据库做出贡献。例如,我可以在我家运行脚本,我的朋友可以从他的 VPS 运行它,我的教授可以从大学实验室的几个不同系统运行脚本,所有这些单独的系统都可以与在我的远程 VPS 上运行的 PostgreSQL 服务器。
如果我只是打开数据库 VPS 以接受来自任何地方的连接,这将很容易,将数据库公开。但是,出于安全原因,我不想这样做。我知道我可以通过 SSH 建立隧道连接,但这需要为每个人提供一个用户名和密码,以授予他们访问服务器本身的权限。我不想这样做。我宁愿简单地让他们访问数据库而不授予对 shell 帐户的访问权限。
我宁愿限制到本地系统127.0.0.1的连接,并为数据库创建一个Tor隐藏服务.onion地址,这样我的远程蜘蛛客户端就可以通过Tor连接到数据库.onion。
问题是,我不知道如何使用psycopg2 通过代理连接到远程数据库。我可以连接到远程数据库,但我没有看到任何通过代理连接的选项。
有人知道这是怎么做到的吗?
【问题讨论】:
-
欢迎来到 Stackoverflow。在发布问题之前,请阅读How to Ask。如果您遵循该指南并发布 minimal reproducible example 我们可以帮助您,我相信有人能够帮助您
标签: python python-3.x postgresql psycopg2 tor