NGINX: несколько проходов прокси для одного домена, но разных портов - PullRequest
0 голосов
/ 25 февраля 2019

Вот ситуация:

У меня до 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, и они должны соответствовать либо строке запроса, либо порту доменного имени.

Я не нашел документации или онлайн-статей о том, как это сделать.Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...