tmnkilya
@tmnkilya
Java Developer

Как присвоить приложению внешний ip адрес из VPS?

Скорее всего главный вопрос поставлен неверно, но сейчас объясню суть более развернуто.

У меня есть VPS-сервер, на нем запущенно Java spring boot приложение. Работает оно на порту 8080, подключиться к нему можно только по адресу localhost:8080. Как сделать так, чтобы я мог подключиться к нему с того ip, который предоставил мне VPS? Если ответ длинный, можете подсказать, где почитать/посмотреть про это?
  • Вопрос задан
  • 393 просмотра
Решения вопроса 1
xez
@xez Куратор тега Java
TL Junior Roo
Приложению никакой адрес присваивать не надо. Оно не должно знать на каком адресе оно запущено.
Если ваше приложение слушает порт 8080, то его адрес будет <адрес вашего сервера>:8080
Точно так же, как когда вы запускаете его локально, у приложения адрес localhost:8080 (localhost - резолвится в 127.0.0.1 по умолчанию https://en.wikipedia.org/wiki/Localhost)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Rst0
@Rst0
установите если не стоит nginx
и пропишите в конфиг nginx.conf
server
    {
        listen :80 default_server;
        server_name  "";    

        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header remote_addr $remote_addr;
        proxy_set_header   X-Forwarded-Proto $scheme;
        proxy_set_header   X-Forwarded-Port $server_port;

        location /
        {
            proxy_pass http://127.0.0.1:8080$request_uri;
        }
    }

все запросы на стандартный http уйдут на 127.0.0.1:8080 он же localhost:8080
гуглится nginx proxy_pass
Ответ написан
Комментировать
@freedom1b2830
когда запущено приложение:
от рута: netstat -lntp|grep 8080
если приложение слушает 0.0.0.0:8080 то всё >ок<, он занимает порт 8080 на всех интерфейсах c ipv4
Ответ написан
Комментировать
OCTAGRAM
@OCTAGRAM
Если доступ нужен исключительно вам, вы можете пробросить порт через SSH соединение, и тогда уже с вашего localhost можно будет зайти на сервер.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы