1

У меня есть два удаленных выделенных сервера, один веб-сервер, на котором работает Apache, и один сервер БД, на котором работает MySQL.

Сервер Apache, конечно, виден в Интернете, но второй сервер виден только серверу Apache, поскольку он связан с локальной сетью.

Мне нужно подключиться к удаленному серверу MySQL через Интернет с моего домашнего компьютера, но мой домашний компьютер может видеть только сервер Apache. Как я могу настроить переадресацию портов с моего сервера Apache на сервер MySQL, чтобы я мог "видеть" сервер MySQL с моего домашнего компьютера?

Этот вопрос является продолжением моего первого вопроса: https://stackoverflow.com/questions/4159256/connect-to-remote-mysql-server-from-my-application-problem-is-that-mysql-server в на что вы мне ответили и очень помогли, сказав мне сделать "переадресацию портов".

Я посмотрел в Интернете, и я не могу найти хорошее, как сделать переадресацию портов. Я опытный программист, но у меня мало опыта работы с оборудованием и сетями. Я могу понять, что нужно сделать, поэтому мне просто нужна небольшая помощь, чтобы разобраться. :)

PS Машина, на которой работает Apache, работает на CentOS; сервер MySQL также работает CentOS. Веб-сервер PS2 работает WebHostManager. Я не знаю, имеет ли это какое-то значение или это легко сделать, я просто упомяну это.

1 ответ1

1

Запустите ваш SSH-клиент на вашем рабочем столе.

Введите это (материал ниже объясняет, что вы заменяете):

ssh -L desktop_port:database_host:database_port apache_username@apache_host

  • desktop_port: 3306 (используйте это, только если вы не запускаете mysql локально)
  • database_host: хост вашей базы данных (используйте доменное имя или IP-адрес)
  • database_port: 3306 (изменить, если вы не используете порт по умолчанию)
  • apache_username: имя пользователя, используемое для входа на ваш сервер apache
  • apache_host: хост apache (имя домена или IP-адрес)

При появлении запроса введите пароль вашего apache_username. Держите этот терминал открытым, так как туннель закроется, когда вы закроете это соединение.

Пример, который работает для меня:

ssh -L 3306:db:3306 user@web

Когда вы все закончите, просто введите выход на вашем терминале, и соединение пропадет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .