diff --git a/mytv/nginx.conf b/mytv/nginx.conf index 399337e..36237c3 100644 --- a/mytv/nginx.conf +++ b/mytv/nginx.conf @@ -394,43 +394,58 @@ http { } server { - listen 20008; - listen [::]:20008; - server_name cdn.1678520.xyz; # 替换为您的域名 + listen 20008; + listen [::]:20008; + server_name cdn.1678520.xyz; - # 自定义响应头:缓存命中状态和剩余缓存时间 - add_header X-Cache-Status $upstream_cache_status; - add_header X-Cache-TTL $upstream_http_x_cache_ttl; + # 自定义响应头 + add_header X-Cache-Status $upstream_cache_status; + add_header X-Cache-TTL $upstream_http_x_cache_ttl; # 代理头设置 - proxy_set_header X-Real-IP $remote_addr; # 传递客户端真实 IP - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 支持多级代理 - proxy_set_header Host aktv.top; # 确保请求的 Host 匹配 Cloudflare 配置 + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host aktv.top; # SSL 配置 - proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # 指定 SSL 协议 - proxy_ssl_ciphers HIGH:!aNULL:!MD5; # 设置加密套件 - proxy_ssl_verify off; # 忽略上游服务器证书验证 - proxy_ssl_server_name on; + proxy_ssl_protocols TLSv1.2 TLSv1.3; + proxy_ssl_ciphers HIGH:!aNULL:!MD5; + proxy_ssl_verify off; + proxy_ssl_server_name on; - # 默认缓存配置 - proxy_cache cache_zone; # 使用指定的缓存区域 - proxy_cache_lock on; # 启用缓存锁 - proxy_cache_valid 200 206 5s; # 默认对 200 和 206 状态码缓存 5 秒 - proxy_cache_methods GET HEAD; # 仅缓存 GET 和 HEAD 请求 - proxy_ignore_headers Cache-Control Expires; # 忽略上游响应的缓存控制头 - expires 5s; # 设置浏览器端缓存 5 秒 + # 缓存设置 + proxy_cache cache_zone; + proxy_cache_lock on; + proxy_cache_valid 200 206 5s; + proxy_cache_methods GET HEAD; + proxy_ignore_headers Cache-Control Expires; + expires 5s; # 默认 location 配置 - location / { - proxy_pass https://aktv.top; # 替换为您的源站地址 - } + location / { + proxy_pass https://aktv.top; + } - # 针对 .ts 和 .aac 文件的特殊缓存设置 - location ~* \.(ts|aac)$ { - proxy_pass https://aktv.top; # 替换为您的源站地址 - proxy_cache_valid 200 206 60s; # 缓存 .ts 文件 60 秒 - expires 60s; # 设置浏览器端缓存 60 秒 - } + # 针对 m3u8 文件内容修改 + location ~ \.m3u8$ { + proxy_pass https://aktv.top; + + # 替换为相对路径 + sub_filter 'https://aktv.top/AKTV/stream/' '/AKTV/stream/'; + sub_filter_once off; + sub_filter_types application/vnd.apple.mpegurl text/plain; + + # 解压 gzip 压缩内容(如源站启用了压缩) + gzip off; + proxy_set_header Accept-Encoding ""; + } + + # 针对 TS 文件的特殊缓存设置 + location ~* \.(ts|aac)$ { + proxy_pass https://aktv.top; + proxy_cache_valid 200 206 60s; + expires 60s; + } } + }