https跨域的数据存储/检索

时间:2011-11-30 10:47:12

标签: php mysql database https

我的一个客户拥有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中)

3 个答案:

答案 0 :(得分:2)

是。

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

您不应该通过公共互联网运行此连接,否则会消除在Web应用程序上使用SSL的任何好处。

答案 1 :(得分:1)

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

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

Some instructions on MySQL master-master replication

答案 2 :(得分:1)

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

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

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