Здравствуйте форумчане, целый день провозился с проблемой, помогите пожалуйста, буду признателен!
nginx version: nginx/1.14.0
стоит реврайт:
rewrite ^/sec/(.*)/(\d+)/((film|serial)/(.*))$ /stream/$3?md5=$1&expires=$2 last;
и есть этот локейшен:
location /stream {
secure_link $arg_md5,$arg_expires;
secure_link_md5 "$secure_link_expires$uri$remote_addr secret";
if ($secure_link = "") {
return 200 "$query_string $arg_md5 $uri $secure_link_expires $uri $remote_addr secret";
}
if ($secure_link = "0") {
return 410;
}
rewrite ^/stream/(.*)$ /content/vod/$1 break;
}
и запросы не приходят в локейшен /stream (Почему? я пологаю что не передаются hash и expires, но даже без них должен обрабатываться запрос?), стоит только добавить в регулярное вырожение экранирование \? (rewrite ^/sec/(.*)/(\d+)/((film|serial)/(.*))$ /stream/$3\?md5=$1&expires=$2 last;) - так все работает. НО! в переменную $3 добавляется этот слэш - "\", и расшифровка не происходит.. Что делать?
Интересно что даже без ЧПУ ссылок, ввида:
/stream/film/rampage.2018.720p/hls/720/index.m3u8?md5=sC-pYJ0gHU5PjJDi-18BOQ&expires=1530842792
запрос не работает тоже, в локейшен не попадает, добавляю \ перед ? (вопросов) и все опять работает!!!
Надеюсь на вашу помощь. На другом сервере, на старой версии подобные реврайты работают.