【问题标题】:Connect live server to local database将实时服务器连接到本地数据库
【发布时间】:2019-02-07 22:37:54
【问题描述】:

在过去的一年中,我一直在为即将上线的客户开发 Laravel 应用程序。现在客户希望数据库在他办公室的自己的服务器上运行(不幸的是,没有商量余地)。这可能吗?

如果有人可以为我指明一个大致的方向,那将对我有很大帮助。也许已经有专门针对 Laravel 的解决方案,但我只是不知道从哪里开始寻找。

【问题讨论】:

  • 在你的Laravel项目的根目录中,你应该有一个名为.env的文件——它应该包含你所有的环境变量,包括数据库主机、用户名和密码......在DB_HOST参数,放他办公室的IP地址。由其办公室的 IT 人员决定是否允许端口 3306 指向数据库服务器并在该点接受流量。
  • " 由其办公室的 IT 人员决定是否允许端口 3306 指向数据库服务器并在此时接受流量。"公司还必须需要一个静态 IP 才能工作,并非所有互联网提供商都提供。@Zak ..您还应该在网络服务器和远程 MySQL 服务器之间使用 SSL 连接,以防止其他人能够在同一网络上的数据。
  • @RaymondNijland -- 好点子!
  • @Robert 要考虑的另一件事是,如果该端口保持打开状态,没有严格的防火墙和一些狡猾的策略——数据库对暴力破解是开放的。值得注意的是,在这种情况下,VPN 隧道可能是明智的。
  • @Zak 您可以添加防火墙策略,仅允许端口上来自一个 IP 的流量。并拒绝来自所有其他 IP 的流量,这仅在 TCP 协议上是安全的,因为 UDP 协议很容易被 IP 欺骗。但 VPN 或 SSH 隧道将是一个额外的安全层。

标签: php mysql laravel deployment server


【解决方案1】:

这是一个非常糟糕的主意,因此请记录这种方法带来的风险和潜在问题,并让客户以书面形式确认。这些风险包括:

  • 必须对服务器进行物理保护,防止未经授权的访问。
  • 服务器必须保持修补。
  • 服务器必须始终锁定屏幕,授权人员未使用它,并使用合理可靠的密码进行保护。
    • 此密码未写在贴在屏幕上的便签上。
  • 服务器必须在电池备份系统上。
    • 此电池备用系统必须每月至少在负载下测试一次。
    • 此电池备用系统必须在电池快耗尽时安全关闭服务器。
  • 必须每天备份服务器:
    • 备份必须存储在异地。
    • 必须使用相当可靠的密码对备份进行加密。
  • 服务器的备份必须每月测试一次。
  • 必须监视服务器的连接是否有丢包和其他中断。
  • 服务器和任何相关的基础设施(路由器、交换机、电缆)必须包含在全面的灾难恢复计划中。

您需要具体说明,作为顾问,您不对由客户直接控制的服务器、连接或其他基础设施故障造成的任何业务中断负责,客户认为

em>所有风险。

简而言之,您可以在此处列出许多原因并在具有法律约束力的文件中正式化。如果客户在此之后重新考虑他们的决定,那很好,你有一个解决方案。如果他们不这样做,这是他们的问题和他们的保险,当这发生可怕的错误时,他们必须付出代价。

【讨论】:

  • 我同意这个想法很糟糕,所以感谢你给了我不这样做的理由的美丽清单:)谁知道呢,也许这真的会改变他的想法。
  • 坚持“拥抱服务器”(内部部署)的客户通常不会意识到云提供商为确保高水平服务所做的工作。
猜你喜欢
  • 2014-05-19
  • 1970-01-01
  • 2015-09-16
  • 1970-01-01
  • 2015-05-01
  • 2019-06-07
  • 2020-12-06
  • 1970-01-01
  • 2014-06-07
相关资源
最近更新 更多