我通过Nginx服务器运行流服务
我只想通过1个域运行流(格式为m3u8)
server {
listen 80;
server_name www.mydomain.com;
if ($host != "www.mydomain.com") {
return 403;
}
}
在这里,例如,当我在浏览器上测试链接:http://ip_server_stream/live/1.playlist.m3u8时,它会在所有域上显示Forbideen 403错误
如果我只放
server {
listen 80;
server_name www.mydomain.com;
}
它适用于所有域和VLC
我只希望链接http://ip_server_stream/live/1.playlist.m3u8在www.mydomain.com上有效,而对其他域或vlc无效
我的nginx版本是1.7.5
这是我的Nginx配置文件
这是我的配置文件,即使我有IF条件,它也会在所有域上显示错误403
worker_processes 8;
error_log logs/error.log debug;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1991;
allow play all;
application live {
allow play all;
live on;
hls on;
hls_nested on;
hls_path /HLS/live;
}
}
}
http {
include mime.types;
default_type application/octet-stream;
server {
listen 80;
if ($http_host != "www.mydomain.com") {
return 403;
}
location /live {
index index.html index.htm;
types {
application/vnd.apple.mpegurl m3u8;
}
alias /HLS/live;
add_header Cache-Control no-cache;
}
location / {
root html;
index index.html index.htm;
}
}
}
答案 0 :(得分:0)
尝试一下。
if ($http_host != "www.mydomain.com") {
return 403;
}
答案 1 :(得分:0)
让我们建立两个服务器。其中之一是虚拟的,仅返回403响应。
http {
# dummy server.
server {
listen 80 default_server;
location / {
return 403;
}
}
# main server.
server {
listen 80;
server_name www.mydomain.com;
# PLEASE WRITE YOUR CONFIGURATION.
}
}