【问题标题】:https data storage/retrieval across domainshttps跨域数据存储/检索
【发布时间】:2012-01-09 14:43:35
【问题描述】:

我的一个客户拥有 2 台专用服务器 - 都运行 php 4.3。 一台服务器(主服务器)有许多在线支付应用程序。他已在一个子域中安装 SSL 密钥以运行支付程序。 所以我们有 www.example-one.com 和 https://secure.example-one.com,它们共享相同的数据库。

现在,在他的另一台服务器 (www.example-two.com) 上,他想升级到最新的 php/mysql。 他想在那里安装另一个 ssl (https://secure.example-two.com),并且他想将所有应用程序从第一个安全域转移到新域。

有没有办法共享第二台服务器中的数据库?所以php脚本仍然可以工作并在第一台服务器(www.example-one.com)的数据库中存储/检索数据?

编辑:两台服务器(示例一和示例二在不同的 IP 中运行)

【问题讨论】:

  • 我会首先考虑将整个系统复制到第二台服务器上。确保一切正常,然后复制“当前”数据库。

标签: php mysql database https


【解决方案1】:

是的。

这完全取决于您的物理基础架构,但如果运行示例一和示例二的服务器可以通过网络“看到”彼此 - 理想情况下,是在您的托管设施内运行的非公共网络,或者一个井 -互联网上的安全 VPN - 您可以将运行在 www.example-two.com 和 secure.example-two.com 上的 PHP 应用程序连接到 example-one.com 上的 MySQL 数据库,方法是将连接字符串设置为指向其主机名或 IP 地址是。

您不应在公共互联网上运行此连接,否则在 Web 应用程序上使用 SSL 的任何好处都会被抹杀。

【讨论】:

  • 所以这实际上是可能的,并且取决于服务器管理员如何配置 2 个服务器。很高兴知道。是时候联系服务器支持团队了:)
【解决方案2】:

如果我们假设 DB 是 MySQL,那么可以肯定的是,你可以让它监听一个公共 IP 地址,限制对 example-2 的访问,并将 example-2 的 PHP 脚本指向 example-1 的数据库。

另一个选择是在这 2 个服务器之间进行主-主复制,这需要在示例 2 上安装第二个 MySQL 实例,并仔细考虑使用它的应用程序是否不会中断(阅读:auto_increment increment) .

Some instructions on MySQL master-master replication

【讨论】:

    【解决方案3】:

    如果配置正确,您可以访问您喜欢的每个数据库。

    最安全的方法是为此拥有自己的后端局域网。

    如果你不能,你可以在公共 IP 地址上打开 mysql(并通过 iptables 过滤以只允许示例二访问)添加一个具有适当权限的用户到 mysql,你就完成了。 (它更多的是保护暴露的mysql而不是mysql的实际配置)

    【讨论】:

      猜你喜欢
      • 2012-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-06
      • 1970-01-01
      • 2014-04-29
      • 2011-08-27
      • 2013-09-04
      相关资源
      最近更新 更多