Теперь на сервере A (Windows Server 2012) работают:
- Apache Tomcat 7 (используется CRM-системой)
- База данных MySQL
- локальные данные для Tomcat (вложения электронной почты из этой CRM и т. д.)
Я бы хотел переместить Apache Tomcat на сервер B (Windows Server 2012 в том же домене), но сохранить базу данных и локальные данные на сервере A.
Каков правильный и безопасный способ поделиться локальными данными с сервера A только на Tomcat, работающий на сервере B?
Я подозреваю, что сеть между вашими серверами не доверяет.
Если вам нужен безопасный способ, вам нужно
my.cnf
.3306
в брандмауэре вашей машины mysql, но только для вашего сервера B.B->A:3306
TCP-соединения, но только они.pwgen
команда. Установите этот пароль в свой mysql.A:3306
с вашим паролем в конфигурации mysql. Требуется немного опыта работы с java, возможно, вам нужно будет изменить некоторые файлы xml где-то под WEB-INF каталога META-INF.telnet A 3306
команда. Если все в порядке, идите дальше.mysql --host=A --port=3306 --user=... --pass=...
команда. Если работает, идите дальше.Это не совсем пошаговые инструкции, каждый шаг, вероятно, требует от вас дальнейшего изучения. Но на самом деле это основные большие скачки. Если что-то неясно, мы ответим на ваш следующий вопрос.
Расширение: Как вы писали, сеть между A и B можно считать надежной. В этом случае вам не нужно какое-либо шифрование между серверами, хотя я счел необходимым установить небольшой брандмауэр. Поскольку вы делаете свой сервер mysql доступным из сети, было бы действительно полезно, если бы только B смогли подключить вашу базу данных к A. Это можно решить, комбинируя фильтрацию портов с аутентификацией mysql. Но вам не нужно беспокоиться о шифровании, которое делает вашу работу намного лучше, если вы не являетесь администратором.
Расширение №2: Хотя вы ничего не писали, где находятся ваши "локальные данные", я подозреваю, что они находятся в файлы. Совместное использование файлов очень просто с помощью сетевого общего доступа SMB, и этот общий ресурс может быть установлен на сервере B как подкаталог или как отдельный диск. Было бы лучше, если бы у него была какая-то независимость от исходного веб-приложения. Например, если он был в ...\webapps\yourappname\attachments
, было бы лучше, если бы это было из вашего webapps
Папка на сервере B. Для этого может потребоваться небольшая настройка веб-приложения.
Расширение № 3: Apache, tomcat, каждый ваш сервер работает как пользователь, и вы можете легко настроить, в качестве какого пользователя. Если они установлены как службы, вы можете сделать это в Администрирование -> Службы. А затем в обмене файлами Windows вы можете установить параметры безопасности общего ресурса, чтобы только этот сетевой пользователь мог читать этот общий ресурс. Предупреждение: вам нужно изменить настройки в двух местах. Во-первых, вы должны изменить безопасность общего сетевого ресурса, а во-вторых, для обслуживаемых файлов. Но и то, и другое вы можете сделать, просто щелкнув правой кнопкой мыши по данному каталогу в проводнике Windows.
Расширение №4: Я считал очень полезным, если вы отделенный общая папка из вашего веб-приложения. Для этого, вероятно, потребуется небольшая настройка. Может тебе стоит расширить свой вопрос, где ваше веб-приложение и где ваши локальные файлы данных на вашем сервере A.