Назад | Перейти на главную страницу

Использование обратного туннеля для доступа к веб-серверу с брандмауэром, обслуживающему HTTPS

У меня есть устройство ("A) в моей сети, которое обслуживает контент только через HTTPS, оно недоступно, так как оно находится за моим маршрутизатором / межсетевым экраном.

У меня есть другая машина ("B") в другом месте в Интернете (поддельный IP-адрес 44.44.44.44)

Я хочу иметь доступ к контенту, который обслуживается из A из B. Я настроил accept_keys на B для A.

-

У меня есть базовые представления о туннелировании SSL / TLS, но я никогда не усложнял его с помощью HTTPS.

Итак, я начинаю с создания обратного туннеля из A -> B:

ssh -N -R 8888:localhost:443 john@44.44.44.44

Итак, на данный момент, на B, я должен иметь доступ к порту 8888, как если бы он был 443 на A?

Когда я пытаюсь нажать localhost: 8888 на B, я получаю следующее (из link2s)

Bad request!

   Your browser (or proxy) sent a request that this server could not understand.

   If you think this is a server error, please contact the webmaster.

Error 400

    www.example.com
    Sat Mar 29 22:50:34 2014
    Apache/2.2.26 (Unix) PHP/5.5.8 mod_ssl/2.2.26 OpenSSL/1.0.1f DAV/2

Пока я играю с этим, я использую Apache, есть ли функция, которую мне нужно включить в его конфигурации, или что-то еще, что мне нужно сделать?

Когда вы просите браузер подключиться к localhost:8888 фактически по умолчанию будет использоваться http://localhost:8888/, который не будет работать в вашем случае, поскольку это порт SSL. Использование URL https://localhost:8888/ вместо этого должно работать, за исключением предупреждения о сертификате.