我们有一个只读 MySQL 数据库(产品镜像)作为 RDS 实例托管在 Amazon AWS 上。我想远程访问它,但为了安全起见,它只能通过白名单从办公网络访问。
当我在办公室时,我只需将config/database.yml
to 指向 prod 镜子,一切都很好。
但是,即使不在办公室,我也需要访问它,而不会严重影响安全性。
办公室里有一台物理服务器,我可以通过 ssh(密钥)访问它,我可以通过它直接访问数据库,但我不知道如何让 rails 通过它进行连接,以便我可以实际加载页面在使用产品数据的带有导轨的笔记本电脑上(我无法在办公室服务器上运行导轨)。
我已经在端口 3306 上尝试了一个基本的 ssh 隧道和一般代理(运行 mac os x),但正如预期的那样,两者都不起作用。我们没有 vpn,目前无法设置。只要不损害安全性,我们愿意更改我们的 AWS 配置,但理想的解决方案只涉及某种形式的隧道和database.yml
.
(当前不方便的解决方法是每当我需要进行远程工作时手动将 ip 添加到白名单中,然后将其删除!)