Хранение данных https / поиск по доменам - PullRequest
1 голос
/ 30 ноября 2011

Мой клиент владеет 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 ]

2 голосов
/ 30 ноября 2011

Да.

Все зависит от вашей физической инфраструктуры, но если серверы, на которых запущены примеры один и два примера, могут «видеть» друг друга по сети - в идеале, непубличная сеть, работающая внутри вашего хостинга, или хорошо защищенный VPN через Интернет - вы можете подключить приложения PHP, работающие на www.example-two.com и secure.example-two.com, к базе данных MySQL на example-one.com, установив строку подключения так, чтобы она указывала на любое имя хоста или IP-адрес.

Вы НЕ должны запускать это соединение через общедоступный Интернет, иначе все преимущества использования SSL в веб-приложении будут удалены.

1 голос
/ 30 ноября 2011

вы можете получить доступ ко всем базам данных, которые вам нравятся, если они правильно сконфигурированы.

Самый безопасный способ - создать для этого собственную внутреннюю сеть.

если вы не можете открыть mysql на общедоступном IP-адресе (и отфильтровать через iptables, чтобы разрешить доступ только для примера два), добавьте пользователя в mysql с соответствующими правами, и все готово.(это больше проблема защиты незащищенного mysql, чем фактическая конфигурация mysql)

1 голос
/ 30 ноября 2011

Если мы предположим, что БД - это MySQL, то, конечно же, вы можете заставить ее прослушивать общедоступный IP-адрес, ограничить доступ к примеру 2 и указать сценарии PHP примера 2 на базу данных примера 1.

Другой вариант - сделать репликацию мастер-мастер между этими двумя серверами, что потребует установки второго экземпляра MySQL на втором примере и тщательного рассмотрения того, не сломается ли приложение, использующее его (читай: приращение auto_increment) .

Некоторые инструкции по репликации мастер-мастер MySQL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...