Трубка SSH туннелирования на удаленный сервер

Я пытаюсь перейти с локального компьютера на веб-сайт удаленного поставщика, заблокированный по IP-адресу (доступ к нашим корпоративным серверам разрешен). Я делаю это путем туннелирования с сервера, который может без проблем получить доступ к API, однако при настройке туннеля SSH и переходе по URL-адресу на веб-сайте поставщика появляется сообщение об ошибке 404 Not Found. Вот что я использую:

ssh -f -N [email protected] -L 7777:vendorhostexample.com:80

Все указывает на то, что туннель настроен правильно, но если я попробую URL, такой как 'http: // localhost: 7777 / foobar', я получу ошибку 404. Есть идеи?

Ответы на вопрос(4)

соответствующим неверному виртуальному хосту. Другим решением может быть использование динамических туннелей.

Если вы открываете соединение с-D 8080 флаг SSH откроет динамический туннель и предоставит прокси-сервер SOCKS на порт 8080. Если вы затем настроите свой браузер (или выбранное вами приложение) на использование прокси-сервера SOCKS на localhost: 8080, вы сможете туннелировать весь свой трафик. на сервер.

ux) и добавить строку вроде:

127.0.0.1 vendorhostexample.com

и попробуй еще раз.

 acvcu30 окт. 2012 г., 20:09
Я все еще получаю 404 после попытки этого - порт должен быть 80 с обеих сторон туннеля, чтобы этот метод работал?
Решение Вопроса

localhost», что означает, что если целевой сервер использует виртуальные хосты, он попытается найти веб-сайт «localhost», а не веб-сайт vendorhostexample.com.

Один из способов заключается в том, как Райан указал, что нужно изменить файл hosts и сообщить вашей машине, что vendorhostexample.com находится на 127.0.0.1, поэтому при вводе его в браузере вы пройдете через туннель с правильным заголовком «Host:» http установлен.

Еще один способ установить расширение для вашего браузера, чтобы изменить заголовок хоста, какэтот для Firefox.

 acvcu30 окт. 2012 г., 20:08
Наконец-то дошло время посмотреть на это ... это работает, если я изменяю заголовок Host, но я не могу заставить его работать, просто указав URL поставщика на мой локальный хост - есть идеи, почему это не работает? Я не всегда просматриваю и не хочу менять хост в своем коде, если в этом нет необходимости.
 Valor01 нояб. 2012 г., 13:16
Если вы добавите в свой файл hosts (/ etc / hosts в linux) строку, сообщающую вашей машине, что vendorhostexample находится на 127.0.0.1, вам не нужно будет устанавливать заголовок узла. Линия будет выглядеть так:127.0.0.1 vendorhostexample.com www.vendorhostexample.com

localhost в заголовках HTTP, что означает, что вы запрашиваетеlocalhost сайт сайта вендора. Они почти наверняка не теряютlocalhost сайт на своем сервере, так что вы получите 404.

Вы не можете туннелировать HTTP таким, какой вы есть. Вам необходимо настроить надлежащий HTTP-прокси на серверах вашей компании.

 acvcu11 окт. 2012 г., 20:16
Какой лучший способ настроить прокси Http?
 Marc B11 окт. 2012 г., 20:17
нет лучшего способа. выбрать один и идти, например,squid-cache.org
 Valor12 окт. 2012 г., 18:05
Вам не нужно настраивать http прокси для этого, есть много способов сделать это без него. От изменения localhost как @raynix указал вверх, чтобы добавить расширение браузера для замены заголовка «Host:» запроса.

Ваш ответ на вопрос