Как я могу туннелировать и просматривать веб-страницу сервера на моем ноутбуке?

55

Я запускаю веб-приложение на одном из своих лабораторных серверов и уже настроил перенаправление X11 на этих машинах. Другие члены лаборатории могут проходить через SSH и просматривать это веб-приложение в своем локальном браузере дома.

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

Когда я печатаю, 192.168.1.113/webappя ничего не получаю.

Какие-нибудь советы?

Благодарю.


Я закончил тем, что использовал второй метод :)

ssh -L 8080:<server-ip-address>:80 <username>@<remote-addr> -N
CppLearner
источник
@BlueXrider вообще, да, по теме, да. Для чего-то подобного версии Ubuntu на самом деле не имеют значения, они примерно такие же тематические, как « Что такое торрент» и как мне использовать его, который считается тематическим. :)
jrg

Ответы:

105

Есть два способа сделать это с помощью SSH.

Tunnel Все с SOCKS прокси

Войдите на удаленный компьютер, используя следующую команду:

ssh -D 8080 remote-host

Теперь перейдите к настройкам прокси-сервера вашего браузера и настройте его на использование прокси-сервера SOCKS с именем хоста 127.0.0.1и портом 8080(или любым другим портом, который вы передали -Dопции). Теперь все страницы, которые вы загружаете в свой веб-браузер, будут проходить через SSH-соединение. Теперь вы сможете получить доступ к частной веб-странице так же, как и с удаленного хоста.

Как только вы закончите, установите настройки прокси вашего браузера обратно в нормальное состояние.

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

Туннель один порт.

Альтернативный метод заключается в использовании SSH для пересылки одного порта:

ssh -L 8080:server-hostname:80 remote-host

Теперь, если вы укажете на свой веб-браузер http://localhost:8080/, вы должны увидеть содержимое, http://server-hostname/как оно будет выглядеть с удаленного хоста.

Преимущество этого метода в том, что он оставляет остальную часть трафика браузера. Недостатком является то, что некоторые ссылки могут не работать, если удаленный сайт использует абсолютные URL-ссылки. Если сайт в основном использует относительные URL-ссылки, то этого метода должно быть достаточно.

Для обоих этих решений в порту нет ничего особенного 8080. Вы можете использовать любой свободный номер локального порта, который вы хотите, если вы помните, чтобы использовать тот же номер в sshвызове и в веб-браузере.

Джеймс Хенстридж
источник
3
Благодарю. Это было очень полезно! Мне удалось сделать это так: ssh -L 8080:<server-ip-address>:80 <username>@<remote-addr> -Nчто-то вроде этого (второй метод).
CppLearner
Правильно ли, что я должен настроить только прокси-сервер socks в первом методе (см .: spareclockcycles.files.wordpress.com/2009/04/… ). Т.е. это не будет работать, если я укажу http-прокси на 127.0.0.1:8080? Если это правильно, возможно, вы могли бы указать в своем отличном ответе, что нужно настроить только прокси socks.
студент
Если вы используете Chrome (второй браузер?), Вы можете передать параметр прокси для SOCKS5 непосредственно при запуске: chromium-browser --proxy-server = "socks5: // localhost: 8080"
panticz.de