Организация HTTP-туннеля на примере утилит для работы с MySQL

    Если вы не знаете, что такое HTTP-туннель, для управления MySQL предпочитаете десктопное приложение вместо веб-интерфейса и выполняется одно из следующих условий:

    • у вас есть возможность выхода во внешний мир только через HTTP-прокси
    • в вашей сети установлено ограничение на возможность работы только с 80 портом
    • хостинг-провайдером разрешено работать с базой только через локалхост


    то эта небольшая заметка для вас.

    Собственно, предназначение HTTP-туннелей более широкое, в том числе, в целях безопасности. Схема в общих чертах выглядит следующим образом1:



    Рассмотрим организацию таких соединений на примере HeidiSQL (или любого другого приложения):
    1. Скачиваем и устанавливаем (выбирайте полную установку) GNU HTTPTunnel2.
    2. Выкачиваем серверную часть на хостинг (папка phpserver).
    3. Открываем админку _http://domain.com/tunnel/admin.php и настраиваем авторизацию, логи и другие опции. Можно просто вручную изменить файл cfg.php. Для авторизации еще необходимо переименовать файл htaccess.txt в .htaccess
    4. Запускаем клиент HTTPTunnelPath\client\httptunnel_client.exe
    5. Открываем админку _http://localhost:1079/ и настраиваем портмаппинг. Добавляем например:

      3000 -> your_mysql_server.com:3306


      Т.е. все запросы на 3000 порт локалхоста будут переадресованы через HTTP-туннель на порт 3306 вашего сервера баз данных.
    6. На вкладке Tunnel Server указываем URL к серверной части туннеля, данные авторизации и прокси (если необходимо).
    7. Теперь в HeidiSQL вместо your_mysql_server.com:3306 указываем localhost:3000. Остальные настройки вам должны быть известны.


    Если разработчики позаботились о возможности соединения через HTTP-туннель, то организовать его еще проще. Возьмем, пример, dbForge Studio for MySQL:

    1. необходимо выкачать скрипт tunnel.php (который является серверной частью HTTP-туннеля) на сервер хостинг-провайдера. Советую ограничить доступ к скрипту на сервере с помощью .htaccess.
    2. на вкладке «HTTP» вашего соединения указать URL скрипта tunnel.php и другие необходимые настройки: логин, пароль (если доступ к скрипту ограничен) и прокси (если соединение осуществляется через него). Остальные настройки вам должны быть известны.


    1. Иллюстрация взята из сайта HTTPTunnel
    2. Существует также бесплатное для некоммерческого использования решение с готовыми собственными серверами и минимумом настроек HTTP-Tunnel
    Поделиться публикацией
    Похожие публикации
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 13
    • +2
      SSH туннелирование уже не модно? Или это решение для хостеров, которые даже SSH не дают?
      • 0
        Ой, простите, читал введение весьма невнимательно 8(
        • 0
          вы меня опередили =) собствено везде где работал есть только прокси с доступом на 80 и 443 порт с методом CONNECT.
          SSH вешал на 443 или NATом прогонял с ip офиса на SSH и полная свобода.
        • 0
          MySQL Front предоставляет такое в комплекте, закачиваешь скриптик и все, со сжатием и всем чем надо…
          А вообще… phpMyAdmin — чем не туннель? :)))
          • НЛО прилетело и опубликовало эту надпись здесь
            • 0
              MySQL Front предоставляет такое в комплекте, закачиваешь скриптик и все, со сжатием и всем чем надо…

              dbForge Studio также, о чем я и написал в статьи ;)

              А вообще… phpMyAdmin — чем не туннель? :)))

              У phpMyAdmin нет, например, сравнения схем и данных, как в dbForge Studio, да и некоторые разработчики предпочитают десктопные приложения.

              Статья о HTTP-туннелях в целом, просто на примере утилит для работы с MySQL. Некоторые приложения могут не поддерживать прокси вообще или только SOCKS-прокси.
              • +1
                Короче: SSH туннель рулит :)
              • 0
                EMS SQL Manager for MySQL тоже идет в комплекте с набором для организации HTTP-тунеля
                • 0
                  Да, точно, сам же им пользуюсь, но я все чаще через SSH.
                  • 0
                    даже не знаю… я предпочитаю сетапнуть OpenVPN и потом работать с удаленным сервером как в локалке. поэтому никогда и не тунелю :)
              • 0
                Очень кстати топик!

                Только что искал подобное решение, нашел тут www.nocrew.org/software/httptunnel.html
                Проблема в том, что в сетке где нужен инет стоит Squid на котором закрыт метод CONNECT. Вышеуказанное решение работает, но как-то очень странно. Работает минут пять и повисает. Причем реконнект и прочее — не спасают :( такое ощущение что банят на прокси за странный трафик. Потом через время опять можно сконнектиться и снова на пять минут.
                • 0
                  Насколько стабильно dbForge Studio работает через HTTP?
                  • 0
                    А я для туннельного подключения к базе просто использую SqlYog с входящим в комплект SQLyogTunnel.php
                    Очень удобно :)

                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.