Как в NGINX сделать подключение разных ссылок к одной?

Задача стояла в том, чтобы пользователи могли слушать радио без рекламы и покупать доступ к платной ссылке. На сервере для каждого PREMIUM пользователя создается уникальный поток, а ссылка прослушивания получается такой https://premium.radio.ru/AEPhDepibg39FGxnDH, NGINX проксирует на IP сервера, а сервер уже видит код ссылки и вещает по этой ссылке, т.е. по сути https://premium.radio.ru/AEPhDepibg39FGxnDH превращается в http://IP-сервера/AEPhDepibg39FGxnDH. Сейчас ссылки отрубаются на сервере через API вещающей программы.

ПРОБЛЕМА: Множество потоков на сервере сильно его грузят, что не есть хорошо. Нужно как-то сделать, чтобы все ссылки проксировались на одну ссылку на сервере.

Нужно было сделать проверку да доступ к прослушиванию на уровне самого NGINX. Сделал обращение к PHP скрипту, который проверяет уникальную ссылку на предмет есть ли у неё доступ. Если доступ есть, то ответ 200 и ссылка проксируется, если 404, то ссылка выдает ошибку и не подключается к серверу.

Конфиг NGINX:

location / {
        auth_request /a;
        proxy_pass http://94.115.168.111:8003/;
        #proxy_redirect off;
        proxy_redirect http://94.115.168.111:8003 /;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Port $server_port;
        access_log on;
    }
    location =  /a {
            internal;
            proxy_pass https://radio.ru/php/potok_auth.php?act=auth&url=$request_uri;
            proxy_pass_request_body off;
            proxy_set_header Content-Length "";
            proxy_set_header X-Original-URI $request_uri;

    }

Этот код работает, проверка идет, но на сервере все равно приходится под каждую ссылку делать свой поток.

ЗАДАЧА: Сделать так, чтобы NGINX любую ссылку проксировал на единую ссылку, например: http://94.115.168.111:8003/hjkh23878023

Конфиг NGINX (Пробовал и не работает):

location / {
            auth_request /a;
            proxy_pass http://94.115.168.111:8003/hjkh23878023;
            #proxy_redirect off;
            proxy_redirect http://94.115.168.111:8003 /;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-Port $server_port;
            access_log on;
        }
        location =  /a {
                internal;
                proxy_pass https://radio.ru/php/potok_auth.php?act=auth&url=$request_uri;
                proxy_pass_request_body off;
                proxy_set_header Content-Length "";
                proxy_set_header X-Original-URI $request_uri;
    
        }

Помогите с конфигурацией, при которой любая ссылка будет подключаться к единой.


Ответы (0 шт):