Nginx $ args манипуляции для proxy_pass - PullRequest
0 голосов
/ 04 апреля 2020

Я пытаюсь понять, как изменить $ args, прежде чем использовать их в команде set variable. Я перехожу из службы, использующей адреса, отформатированные следующим образом: http://server/proxy/account?mp= / stream

, и мне необходимо отправить их в новую службу, например, http://server: 2000 /system/proxy.php?unique_id=account&mounturl=stream

до сих пор я был в состоянии использовать этот блок местоположения, чтобы получить имя учетной записи потока

    `location ~ ^/proxy//?([^/]+)/?([^/]+)? {
        set $proxy_url https://127.0.0.1:2000/system/proxy.php?unique_id=$1&mounturl=$2;

        proxy_buffering off;
        proxy_ignore_client_abort off;
        proxy_intercept_errors off;
        proxy_redirect off;
        proxy_next_upstream error timeout invalid_header;
        proxy_pass_request_headers on;
        proxy_set_header Cache-Control no-cache;
        proxy_set_header                User-Agent "$http_user_agent [ip:$remote_addr]";
        proxy_set_header                X-Forwarded-For $remote_addr;
        proxy_connect_timeout 5;
        proxy_send_timeout 15;
        proxy_read_timeout 15;
        proxy_max_temp_file_size 0;
        proxy_pass $proxy_url;
        expires off;
        client_max_body_size 1M;
        tcp_nodelay on;
}

однако я не могу понять, что мне нужно использовать, чтобы изменить точку монтирования из / stream на просто stream

я знаю, я могу просто использовать $ arg_mp в качестве переменной, чтобы использовать его напрямую, но мне нужно представить его без лидирующей Sla sh, и, честно говоря, у меня не осталось волос, чтобы вытащить, кто-нибудь может указать мне в правильном направлении, пожалуйста?

...