Рейтинг:0

Можно ли проксировать два http-сервиса с разными портами, используя обратный прокси-сервер nginx?

флаг cn

У меня есть две http-службы, работающие на сервере Ubuntu, и они используют порты 4000, 8080.

Если я непосредственно посещаю http://мой.домен:4000, http://мой.домен:8080, работают нормально.

Но использование номера порта — это уродливый URL-адрес, и я собираюсь посетить эти сайты, используя следующие URL-адреса, и заблокировать 4000, 8080 портов извне.

svc1 -> http://мой.домен
svc2 -> http://мой.домен/svc2

Могу ли я сделать это возможным с обратным прокси-сервером Ngnix?

Если это невозможно, могу ли я это сделать?

svc1 -> http://мой.домен/svc1
svc2 -> http://мой.домен/svc2

JonasCz avatar
флаг cn
Да, возможно, на https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/ есть несколько примеров использования proxy_pass с определенным портом. Однако прокси-приложение (svc1 и svc2) должно поддерживать работу за обратным прокси-сервером, который изменяет URL-адрес, чтобы они генерировали правильные ссылки внутри HTML и других компонентов и скриптов (например, `http://my.domain/ svc1/script.js` вместо `http://my.domain:4000/script.js`).Посмотрите руководство по настройке qBittorrent для Nginx, например, как это часто делается: https://github.com/qbittorrent/qBittorrent/wiki/NGINX-Reverse-Proxy-for-Web-UI.
Denis Turgenev avatar
флаг cn
благодарю вас ! ! !

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.