Моя цель:
У меня есть компьютер в местоположении A, давайте назовем его host-A. У меня есть компьютер в местоположении B (хост-B), на котором запущен ssh-сервер, и я могу использовать ssh с хоста-A на хост-B. Я хочу получить доступ к веб-сайту в веб-браузере хоста A, скажем, http://example.com/ через туннель ssh через хост B.
Что я сделал:
В хосте-A я ssh -v -N -L 8080:example.com:80 host-B
. Я могу проверить с помощью netstat --inet -lnp
что ssh действительно прослушивает 127.0.0.1:8080 с внешним адресом 0.0.0.0:*.
В host-B я могу получить доступ к example.com.
Следовательно, в браузере host-A (здесь firefox), когда я набираю URL « http://localhost:8080/ », я должен получить доступ к веб-странице example.com.
Мои вопросы:
Когда я делаю это, я на самом деле получаю 404 не найдено. Тем не менее, в оболочке, в которой я выдал «ssh -L», я вижу некоторые журналы, например:
debug1: Connection to port 8080 forwarding to example.com port 80 requested.
(1) Так что здесь произошло? Я сделал то же самое (за исключением использования example.com), как, например, этот пример по переадресации локальных портов.
Когда я пытаюсь использовать www.ubuntuforums.org (так что ssh -v -N -L 8080:www.ubuntuforums.org:80 host-B
в host-A), http://localhost:8080/ фактически выводит меня на " https://www.canonical.com/ ". (2) Почему это?
Когда я пытаюсь с ssh -v -N -L 8080:www.stackoverflow.com:80 host-B
, я получаю:
Fastly error: unknown domain: localhost. Please check that this domain has been added to a service.
Details: cache-cdg20728-CDG
(3) Опять же, почему? Так много загадок для меня здесь ...