Назад | Перейти на главную страницу

статистика для сервера nginx rtmp

Я пытаюсь получить статистику для nginx как сервера rtmp, ниже мой файл конфигурации, но я получаю 403 на http: // ip: 8080 / stat.xsl (тоже пробовал http: //ip/stat.xsl что дает 404 и http: // ip: 8080 / stat / stat.xsl что дает пустую страницу, без ошибок).

Я скопировал эти настройки отсюда: https://github.com/arut/nginx-rtmp-module

Не уверен, что не так ...

Мне нужно найти способ получить статистику с сервера rtmp или, по крайней мере, получить активные соединения.

Спасибо.

rtmp {
        server {
        listen 1935;
        chunk_size 4000;
        allow play all;

        application live {
                allow play all;
                live on;
                hls on;
                hls_nested on;
                hls_path /HLS/hls;
                hls_fragment 10s;
                record off;
                }
        }
}


http {
        include       mime.types;
        default_type  application/octet-stream;

        server {
                listen 8080;
                location /hls {
                                types {
                                        application/vnd.apple.mpegurl m3u8;
                                }
                alias /HLS/hls;
                add_header Cache-Control no-cache;
                }
                location /stat {
                        rtmp_stat all;
                        rtmp_stat_stylesheet stat.xsl;
                }
                location /stat.xsl {
                root /root/nginx-rtmp-module-dev/stat.xsl/;
                }
        }
}

ОБНОВЛЕНИЕ: когда я получаю доступ http: // IP: 8080 / stat / stat.xsl Я вижу это в консоли Chrome, которая, как мне кажется, связана: Resource interpreted as Stylesheet but transferred with MIME type text/xml: http://IP:8080/stat/stat.xsl

У меня была аналогичная проблема со статистикой RTMP.

Во-первых, корневой каталог stat.xsl должен быть каталогом, содержащим stat.xsl. Корневой каталог не должен быть прямым путем к stat.xsl. В моем случае я поместил его в: /var/www/stat.xsl. Видеть расположение /stat.xsl ниже:

Во-вторых, я добавил «Разрешить всем», чтобы разрешить всем просматривать страницу статистики. Я также добавил заголовок обновления, который заставит статистику обновляться каждую третью секунду.

Это содержимое моего /etc/nginx/sites_available/default файл:

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;

    server_name localhost;

    location / {
            try_files $uri $uri/ =404;
            index index.html index.htm index.nginx-debian.html;
    }

    location /stat {
        rtmp_stat all;
        rtmp_stat_stylesheet stat.xsl;
        # Allow access from any visitor
        allow all;
        # Live updates for the stat page
        add_header Refresh "3; $request_uri";
    }

    location /stat.xsl {
        root /var/www/;
    }
}

Затем, когда вы посетите http://<hostname>/stat вы увидите статистику RTMP, представленную для каждого настроенного потока.

Проверьте разрешения на /root/nginx-rtmp-module-dev/stat.xsl/stat.xsl и его родительские каталоги. Вы обнаружите, что /root не читается веб-сервером, поэтому вы получаете ошибку 403.

Чтобы решить проблему, переместите файл в подходящее место и измените конфигурацию nginx, чтобы она соответствовала.

Думаю, вопрос уже надо решать. Но я боролся с той же проблемой и нашел решение, которое нам нужно для доступа к статистике, используя URL-адрес маршрутизации, а не имя файла. Например: example.com/stat, тогда stat будет перенаправлять на фактическую страницу. Там мы видим таблицу со статистикой RTMP.

скопировать nginx-rtmp-stat.xsl в вашу html-папку nginx-rtmp.

установить путь stat.xsl к папке nginx-rtmp html

location /stat.xsl {
                root /path-to-nginx-rtmp-html-folder/;
}

и перейти к http: // yourip / stat