# 可选:把媒体分发交给 nginx(吞吐更高、支持断点续传与限速) # 用法:把本文件放到 /etc/nginx/sites-available/ktv-media 并 ln -s 到 sites-enabled, # 同时把 server-config.json 的 public_media_base 指向 nginx 的域名/端口。 # # ⚠️ App 只接受**域名**形式的媒体地址,且路径必须以 /<编号>.ts 结尾 —— 保持 location 不变。 # ⚠️ 不要让 nginx 返回 403 来表达"文件不存在"(App 会当成源站风控): # 这里用 try_files 落到 404。 server { listen 6677; server_name ktv.example.com; # 换成你的域名 # 媒体:Range/206、缓存、限速(保护店内带宽) location /media/ { alias /var/lib/ktv-source/media/; try_files $uri =404; # 不存在 → 404(不是 403) add_header Accept-Ranges bytes always; add_header Cache-Control "public, max-age=86400" always; sendfile on; tcp_nopush on; # limit_rate 8m; # 需要时打开:单连接限速 8MB/s # limit_conn perip 4; # 单 IP 并发连接限制 } # App 接口仍由 Python 服务处理 location / { proxy_pass http://127.0.0.1:6687; # 把 Python 的服务端口改到 6687(避免与自己冲突),对外仍是 6677 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_read_timeout 60s; } }