Я пытаюсь получить статистику для 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