[Sysadmins] nginx передача параметров в php скрипт

Serge R linuxuser815 на gmail.com
Вс Окт 16 11:56:02 MSK 2016


Добрый день!

Необходимо реализовать авторизацию для rtmp потока, путем передачи потоку
параметров: пользователь и его пароль.
Просматриваю поток с помощью vlc. Строка подключения к потоку такая:
rtmp://x.x.x.x/stream1?user=alex&pass=12

Для этих целей была установлена связка: nginx, с скомпилиррованным rtmp
модулем и php-fpm.
php скрипты отрабатывают.
Настройки nginx.conf:

        location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
       }


rtmp {
        server {
                listen 1935;
                chunk_size 4096;

application stream1 {
                        live on;
                        meta copy;
                        exec_options on;
                        record off;
                        on_publish http://x.x.x.x/auth1.php;
                        notify_method get;
                        allow publish all;
                         allow play all;
                }

}

Проблема состоит в том, что не передаются параметры в с крипт auth1.php.
Если явно указываю параметры on_publish
http://x.x.x.x/auth1.php?user=alex&pass=12&;
то скрипт auth1.php отрабатывает как нужно и поток могу просматривать.

В логах получаю:

2016/10/16 14:44:10 [info] 10906#0: *1 connect: app='live2'
args='user=alex&pass=12' flashver='LNX 9,0,124,2' swf_url=''
tc_url='rtmp://x.x.x.x:1935/live2?user=alex&pass=12' page_url=''
acodecs=4071 vcodecs=252 object_encoding=0, client: y.y.y.y, server:
0.0.0.0:1935
2016/10/16 14:44:10 [info] 10906#0: *1 createStream, client: y.y.y.y,
server: 0.0.0.0:1935
2016/10/16 14:44:10 [info] 10906#0: *1 play: name='' args='' start=-2000
duration=0 reset=0 silent=0, client: y.y.y.y, server: 0.0.0.0:1935
2016/10/16 14:44:10 [info] 10906#0: exec: starting managed child 'ffmpeg'
2016/10/16 14:44:10 [info] 10906#0: *2 client connected 'x.x.x.x'
2016/10/16 14:44:10 [info] 10906#0: *2 connect: app='live2' args=''
flashver='' swf_url='' tc_url='rtmp://x.x.x.x:1935/live2' page_url=''
acodecs=0 vcodecs=0 object_encoding=0, client: x.x.x.x, server: 0.0.0.0:1935
2016/10/16 14:44:10 [info] 10906#0: *2 createStream, client: x.x.x.x,
server: 0.0.0.0:1935
2016/10/16 14:44:10 [info] 10906#0: *2 publish: name='' args='' type=live
silent=0, client: x.x.x.x, server: 0.0.0.0:1935
2016/10/16 14:44:10 [info] 10906#0: *2 notify: publish 'x.x.x.x/auth1.php',
client: x.x.x.x, server: 0.0.0.0:1935
2016/10/16 14:44:10 [info] 10906#0: *2 disconnect, client: x.x.x.x, server:
0.0.0.0:1935
2016/10/16 14:44:10 [info] 10906#0: *2 deleteStream, client: x.x.x.x,
server: 0.0.0.0:1935
2016/10/16 14:44:10 [info] 10906#0: exec: child 10907 exited; ignoring
2016/10/16 14:44:10 [info] 10906#0: exec: terminating child 10907
2016/10/16 14:44:10 [notice] 10906#0: signal 17 (SIGCHLD) received
2016/10/16 14:44:10 [notice] 10906#0: signal 17 (SIGCHLD) received
2016/10/16 14:44:10 [notice] 10906#0: unknown process 10907 exited with
code 1
2016/10/16 14:44:10 [notice] 10906#0: unknown process 10907 exited with
code 1
2016/10/16 14:44:10 [info] 10906#0: epoll_wait() failed (4: Interrupted
system call)
2016/10/16 14:44:15 [info] 10906#0: exec: starting managed child 'ffmpeg'
2016/10/16 14:44:16 [info] 10906#0: *6 client connected 'x.x.x.x'
2016/10/16 14:44:16 [info] 10906#0: *6 connect: app='live2' args=''
flashver='' swf_url='' tc_url='rtmp://x.x.x.x:1935/live2' page_url=''
acodecs=0 vcodecs=0 object_encoding=0, client: x.x.x.x, server: 0.0.0.0:1935
2016/10/16 14:44:16 [info] 10906#0: *6 createStream, client: x.x.x.x,
server: 0.0.0.0:1935
2016/10/16 14:44:16 [info] 10906#0: *6 publish: name='' args='' type=live
silent=0, client: x.x.x.x, server: 0.0.0.0:1935
2016/10/16 14:44:16 [info] 10906#0: *6 notify: publish 'x.x.x.x/auth1.php',
client: x.x.x.x, server: 0.0.0.0:1935
2016/10/16 14:44:16 [info] 10906#0: *6 disconnect, client: x.x.x.x, server:
0.0.0.0:1935
2016/10/16 14:44:16 [info] 10906#0: *6 deleteStream, client: x.x.x.x,
server: 0.0.0.0:1935
2016/10/16 14:44:16 [info] 10906#0: exec: child 10908 exited; ignoring
2016/10/16 14:44:16 [info] 10906#0: exec: terminating child 10908
2016/10/16 14:44:16 [notice] 10906#0: signal 17 (SIGCHLD) received
2016/10/16 14:44:16 [notice] 10906#0: signal 17 (SIGCHLD) received
2016/10/16 14:44:16 [notice] 10906#0: unknown process 10908 exited with
code 1
2016/10/16 14:44:16 [notice] 10906#0: unknown process 10908 exited with
code 1
2016/10/16 14:44:16 [info] 10906#0: epoll_wait() failed (4: Interrupted
system call)

Что еще нужно подправить, что бы можно было бы передавать параметры в php
скрипт.

Спасибо!
----------- следующая часть -----------
Вложение в формате HTML было удалено...
URL: <http://lists.altlinux.org/pipermail/sysadmins/attachments/20161016/598983d9/attachment.html>


Подробная информация о списке рассылки Sysadmins