#ssh #browser #webserver #portforwarding
#ssh #браузер #веб-сервер #перенаправление портов
Вопрос:
Я хочу получить доступ к 2 веб-сервисам в удаленной / частной сети из моей локальной / частной сети:
удаленный веб-сервис 1 (RWS1): 192.168.0.2:8083 удаленный веб-сервис 2 (RWS2): 192.168.0.1:80 удаленный ssh-клиент (RSC): 192.168.0.2 локальный ssh-сервер (LSS): my.server.com (местный: 192.168.1.1) локальный веб-сервер 1 (LWS1): 192.168.0.1:80
доступ к RWS1 (это работает)
ssh-клиент подключается к ssh-серверу вкл. перенаправление портов:
RSC: ssh -R0.0.0.0:8080:192.168.0.2:8083 user@my.server.com
разрешить всем локальным IP-адресам доступ к порту в «LSS»: 192.168.1.1:8080:
LSS: socat TCP-ПРОСЛУШИВАНИЕ: 8083, fork TCP: 127.0.0.1:8080
теперь я могу получить доступ «http://192.168.1.1:8083 /» и то, что я получаю, является результатом RWS1. Поскольку это веб-приложение использует относительные перенаправления, это работает отлично!
доступ к RWS2 (это НЕ работает)
ssh-клиент подключается к ssh-серверу вкл. перенаправление портов:
RSC: ssh -R0.0.0.0:8080:192.168.0.1:80 user@my.server.com
разрешить всем локальным IP-адресам доступ к порту в «LSS»: 192.168.1.1:8080:
LSS: sudo socat TCP-ПРОСЛУШИВАНИЕ: 80, fork TCP: 127.0.0.1:8080
теперь я могу получить доступ «http://192.168.1.1 /» и то, что я получаю, является результатом RWS2 — но поскольку это веб-приложение использует абсолютные перенаправления на 192.168.0.1, я немедленно перенаправляюсь на мой локальный LWS1 (например, доступ к моему браузеру «http://192.168.1.1 /», но RWS2 отвечает перенаправлением на «http://192.168.0.1/html/index.html «).
=> как заставить мой браузер сопоставить все, что указывает на 192.168.0.1, с 192.168.1.1?
(хорошо, что мне не нужно иметь дело с сертификатами, так как соединение осуществляется через http :-))
спасибо, Майкл
Комментарии:
1. Решил это, присвоив LWS1 тот же IP-адрес, что и мой LSS — я рассматриваю это как обходной путь для этого конкретного случая, но не как общее решение.