У меня есть 2 машины
У машины A есть два интерфейса и веб-сервер
eth0 является частным ip 192.168.1.1 eth1 является общедоступным ip 1.2.3.4
Машина B eth0 является private ip 192.168.1.2 running tomcat (8080)
Теперь, как я могу получить доступ к 192.168.1.2:8080, используя мой публичный ip
Есть идеи, как перенести это?
Спасибо, ребята, за ваши ответы. Я знаю, как использовать обратный прокси-сервер, поскольку мой публичный ip-сервер содержит приложение django, работающее на порте 8000. Но мой вопрос заключается в том, можно ли использовать мою машину A как маршрутизатор машины B., которая будет принимать соединение через порт 8080.
Я думаю, что вы ищете модуль обратного прокси Apache.
Вот инструкции , и официальный документ . В сети много документов.
Это также возможно с nginx.
Что касается приложения Tomcat, посмотрите также здесь , так как вы, вероятно, хотите сообщить Tomcat, каков его публичный адрес.
SSH-туннель работает, работает на машине A:
ssh -f -L 3000:192.168.1.2:8080 localhost -N
Вы можете изменить 3000 на 8080 (или любой другой порт), если он не используется машиной A.
Любое соединение с 192.168.1.1:3000
или 1.2.3.4:3000
будет переадресовано на 192.168.1.2:8080
.