2011-11-30 80 views
1

我的客戶擁有2臺專用服務器 - 均運行php 4.3。 一臺服務器(主)擁有大量的在線支付應用程序。他已在一個子域中安裝SSL密鑰以運行付款程序。 所以我們有www.example-one.com和https://secure.example-one.com,它們共享相同的數據庫。https跨域數據存儲/檢索

現在,在他的另一臺服務器(www.example-two.com)上,他想升級到最新的php/mysql。 他希望在那裏安裝另一個ssl(https://secure.example-two.com),並且他希望將所有應用程序從第一個安全域轉移到新的安全域。

有沒有辦法在第二臺服務器上共享數據庫?所以PHP腳本仍然可以在第一臺服務器(www.example-one.com)中的數據庫中存儲/檢索數據?

編輯:兩個服務器(例如,一個例子,兩者在不同的IP上運行)

+0

我會首先考慮將整個系統複製到第二臺服務器。確保一切正常,然後複製「當前」數據庫。 –

回答

2

是的。如果運行example-one和example-2的服務器可以在整個網絡中「看到」彼此 - 理想情況下,運行在您的託管設施內的非公共網絡,或者一個井 - 通過互聯網保護VPN - 您可以將www.example-two.com上運行的PHP應用程序和example.one.com上的secure.example-two.com上的PHP數據庫連接到MySQL數據庫,方法是將連接字符串設置爲指向任何主機名或IP地址是。

您不應該通過公共互聯網運行此連接,否則在Web應用程序上使用SSL的任何好處都將被清除。

+0

所以這實際上是可能的,並取決於服務器管理員如何配置2臺服務器。很高興知道。有時間聯繫服務器支持團隊:) – andrew

1

如果我們假設數據庫是MySQL的,那麼肯定的是,你可以把它監聽一個公網IP地址,限制對示例二的訪問,並將示例二的PHP腳本指向示例一的數據庫。

另一個選擇是在這兩個服務器之間進行master-master複製,這需要在example-two上安裝MySQL的第二個實例,並且仔細考慮使用它的應用程序是否不會中斷(read:auto_increment increment )。

Some instructions on MySQL master-master replication

1

您可以訪問每一個你喜歡的,如果他們被正確配置的數據庫。

最安全的方法是爲此擁有一個自己的後端局域網。

如果你不能在公共ip地址上打開mysql(並通過iptables過濾只允許example-two訪問),請將用戶添加到具有適當權限的mysql,然後完成。 (其更多的問題是確保暴露的mysql然後mysql的實際配置是)