用B域名请求获取MP4视频时,限制了域名白名单,只允许A域名可访问B域名获取MP4视频。所有请求都从A域名进入,A域名用nginx做了代理,转发到了B域名上。
以下为A域名nginx.conf配置,其中www.video.com为描述中的B域名
http {
upstream video_backend {
server www.video.com:443;
keepalive 16;
}
server {
listen 443 ssl http2;
location /11/ {
proxy_pass https://video_backend/;
# 连接优化
proxy_ssl_server_name on;
proxy_http_version 1.1;
proxy_set_header Connection "";
# 流媒体支持
proxy_buffering off;
proxy_request_buffering off;
proxy_force_ranges on;
proxy_set_header Range $http_range;
# 超时设置
proxy_connect_timeout 60s;
proxy_read_timeout 300s;
# 头信息控制
proxy_set_header Host www.video.com;
proxy_hide_header 'Access-Control-Allow-Origin';
add_header 'Access-Control-Allow-Origin' '$http_origin' always;
add_header Content-Type "video/mp4" always;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}