У моего хоста 5 служб, работающих, скажем, на 5 разных портах (5000-5004). Мой хост не принимает удаленные соединения на любом порту, кроме 80. Поэтому мне нужно запустить некоторую службу на порту 80, которая может принимать входящие запросы (например, http://1.1.1.1:80?5000) и перенаправить его на порт, указанный в запросе (здесь 5000). Возможно ли это через Nginx или мне нужен другой балансировщик нагрузки?
Как перенаправить входящий запрос на порт 80 на хосте на порт x, где x - параметр входящего запроса
Ответы (1)
server {
listen 80;
server_name example.com #or your ip, or your host if you prefer
location / {
proxy_pass http://your_service_ip.com:$args;
}
}
$ args содержит все, что находится после "?".
Конечно, это базовый пример, вы должны добавить все параметры, необходимые для правильной передачи прокси-сервера вашим службам. Другой способ - сопоставить аргументы переменной с именем порт и прокси-сервер с этим портом.
person
flaixman
schedule
28.11.2019