Вот ситуация:
У меня до 500 независимых приложений localhost, все запущенные одновременно на сервере.Мой маршрутизатор имеет открытые порты 80, 443, 8000 до 8500.Мои клиенты могут подключаться к каждому из различных приложений localhost по своему выбору.Моя задача - найти способ сделать это, используя 1 домен: example.com
Было бы неплохо, если бы я мог использовать строку запроса, чтобы сообщить NGINX, в какое приложение перенаправлять.Например, если example.com - это мое доменное имя, и у меня открыт порт 443 для подключения к нему, было бы хорошо, если бы я мог сделать что-то вроде:
https://example.com? Port = 8300
, тогда NGINX перенаправит этот запрос на локальный хост: 8300
, если это не может быть сделано, может быть другое решение: https://example.com:8300
и затем NGINXперенаправит этот запрос на localhost: 8300
моя текущая настройка имеет https://example.com на порту 443, перенаправление на localhost: 8080 (код конфигурации NGINX:)
server {
server_name example.com;
location / {
proxy_pass http://localhost:8080/;
}
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by
Certbot ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;# управляется Certbot include /etc/letsencrypt/options-ssl-nginx.conf;# управляется Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;# управляется сервером Certbot
} {if ($ host = example.com) {return 301 https://$host$request_uri;} # управляется сервером Certbot
listen 80;
listen [::]:80;
server_name example.com;
return 404; # managed by Certbot
}
но мне нужен диапазон аргументов proxy_pass, и они должны соответствовать либо строке запроса, либо порту доменного имени.
Я не нашел документации или онлайн-статей о том, как это сделать.Спасибо!