Laravel Homestead - 通过 SSH 隧道连接到远程数据库

Laravel Homestead - Connect to remote DB via SSH Tunnel

我想使用 Laravel Homestead 在本地进行开发,但是 Laravel 应该通过 SSH 隧道连接到远程数据库,而不是 Homestead。

不知怎么的,我不知道该怎么做。有可能吗?

这不是 Laravel 问题,这是一个操作系统问题。您可以设置您的隧道:

ssh -L 3307:ec2-172-16-139-19.us-west-1.compute.amazonaws.com:3306 deploy@ec2-174-129-17-196.compute-1.amazonaws.com 

在哪里

3307 是本地端口,

ec2-172-16-139-19.us-west-1.compute.amazonaws.com 是 数据库主机 ,

3306 是监听端口,

部署是数据库用户名,并且

ec2-174-129-17-196.compute-1.amazonaws.com 是 远程主机.

然后您只需要配置您的 Laravel 连接以连接到

'mysql' => [
    'host' => 'localhost',
    'port' => 3307,
],

打开您的 config/database.php 并添加找到您的 mysql 连接。

ssh -i ~/openssh_key -L YOUR_PORT:DATABASE_HOST:DB_PORT USERNAME@REMOTE_HOST