From 7f2a183ba6d5fce030aeaeefbe3daee2bb585d29 Mon Sep 17 00:00:00 2001 From: tmxk2021 <90445826+tmxk2021@users.noreply.github.com> Date: Mon, 17 Mar 2025 11:27:16 +0800 Subject: [PATCH] Update nginx.conf --- nginx.conf | 731 +++++++++++++++-------------------------------------- 1 file changed, 204 insertions(+), 527 deletions(-) diff --git a/nginx.conf b/nginx.conf index fe6788a..f2d79d1 100644 --- a/nginx.conf +++ b/nginx.conf @@ -4,534 +4,211 @@ pid /run/nginx.pid; include /etc/nginx/modules-enabled/*.conf; events { - worker_connections 1024; # 提高连接数上限 - multi_accept on; # 允许多连接同时接受 + worker_connections 1024; # 提高连接数上限 + multi_accept on; # 允许多连接同时接受 } http { - - ## - # 基本设置 - ## - sendfile on; - tcp_nopush on; - tcp_nodelay on; - keepalive_timeout 65; - types_hash_max_size 2048; - - include /etc/nginx/mime.types; - default_type application/octet-stream; - - ## - # SSL 设置 - ## - ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; - ssl_prefer_server_ciphers on; - - ## - # 日志设置 - ## - set_real_ip_from 0.0.0.0/0; # 允许所有代理传递真实 IP - real_ip_header X-Forwarded-For; - real_ip_recursive on; - log_format custom '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - access_log /var/log/nginx/access.log; - error_log /var/log/nginx/error.log; - - ## - # Gzip 压缩设置 - ## - gzip on; - gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript video/mp2t; - - ## - # 缓存路径配置 - ## - proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=cache_zone:10m max_size=500m inactive=24h use_temp_path=off; - - ## - # 虚拟主机配置 - ## - include /etc/nginx/conf.d/*.conf; - #include /etc/nginx/sites-enabled/*; - - server { - listen 20000; - listen [::]:20000; - server_name cdn.1678520.xyz; # 替换为您的域名 - - # 自定义响应头:缓存命中状态和剩余缓存时间 - 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 cdn.163189.xyz; # 确保请求的 Host 匹配 Cloudflare 配置 - - # 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_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 秒 - - # 默认 location 配置 - location / { - proxy_pass https://cdn.163189.xyz; # 替换为您的源站地址 - } - - # 针对 .ts 和 .aac 文件的特殊缓存设置 - location ~* \.(ts|aac)$ { - proxy_pass https://cdn.163189.xyz; # 替换为您的源站地址 - proxy_cache_valid 200 206 60s; # 缓存 .ts 文件 60 秒 - expires 60s; # 设置浏览器端缓存 60 秒 - } - } - - server { - listen 20001; - listen [::]:20001; - server_name cdn.1678520.xyz; # 替换为您的域名 - - # 自定义响应头:缓存命中状态和剩余缓存时间 - 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 cdn3.163189.xyz; # 确保请求的 Host 匹配 Cloudflare 配置 - - # 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_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 秒 - - # 默认 location 配置 - location / { - proxy_pass https://cdn3.163189.xyz; # 替换为您的源站地址 - } - - # 针对 .ts 和 .aac 文件的特殊缓存设置 - location ~* \.(ts|aac)$ { - proxy_pass https://cdn3.163189.xyz; # 替换为您的源站地址 - proxy_cache_valid 200 206 60s; # 缓存 .ts 文件 60 秒 - expires 60s; # 设置浏览器端缓存 60 秒 - } - } - - server { - listen 20002; - listen [::]:20002; - server_name cdn.1678520.xyz; # 替换为您的域名 - - # 自定义响应头:缓存命中状态和剩余缓存时间 - 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 cdn12.jdshipin.com; # 确保请求的 Host 匹配 Cloudflare 配置 - - # 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_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 秒 - - # 默认 location 配置 - location / { - proxy_pass https://cdn12.jdshipin.com; # 替换为您的源站地址 - } - - # 针对 .ts 和 .aac 文件的特殊缓存设置 - location ~* \.(ts|aac)$ { - proxy_pass https://cdn12.jdshipin.com; # 替换为您的源站地址 - proxy_cache_valid 200 206 60s; # 缓存 .ts 文件 60 秒 - expires 60s; # 设置浏览器端缓存 60 秒 - } - - # 针对包含 smt2.1.5.php 的 URL,设置缓存时间为 60 秒 - location ~ smt2\.1\.5\.php { - proxy_cache_valid 200 206 60s; # 缓存 60 秒 - expires 60s; # 设置浏览器缓存 60 秒 - proxy_pass https://cdn12.jdshipin.com; - } - } - - server { - listen 20003; - listen [::]:20003; - server_name cdn.1678520.xyz; # 替换为您的域名 - - # 自定义响应头:缓存命中状态和剩余缓存时间 - 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 cdn6.163189.xyz; # 确保请求的 Host 匹配 Cloudflare 配置 - - # 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_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 秒 - - # 默认 location 配置 - location / { - proxy_pass https://cdn6.163189.xyz; # 替换为您的源站地址 - } - - # 针对 .ts 和 .aac 文件的特殊缓存设置 - location ~* \.(ts|aac)$ { - proxy_pass https://cdn6.163189.xyz; # 替换为您的源站地址 - proxy_cache_valid 200 206 60s; # 缓存 .ts 文件 60 秒 - expires 60s; # 设置浏览器端缓存 60 秒 - } - } - - server { - listen 20004; - listen [::]:20004; - server_name cdn.1678520.xyz; # 替换为您的域名 - - # 自定义响应头:缓存命中状态和剩余缓存时间 - 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 v2hcdn.jdshipin.com; # 确保请求的 Host 匹配 Cloudflare 配置 - - # 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_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 秒 - - # 默认 location 配置 - location / { - proxy_pass https://v2hcdn.jdshipin.com; # 替换为您的源站地址 - } - - # 针对 .ts 和 .aac 文件的特殊缓存设置 - location ~* \.(ts|aac)$ { - proxy_pass https://v2hcdn.jdshipin.com; # 替换为您的源站地址 - proxy_cache_valid 200 206 60s; # 缓存 .ts 文件 60 秒 - expires 60s; # 设置浏览器端缓存 60 秒 - } - } - - server { - listen 20005; - listen [::]:20005; - server_name cdn.1678520.xyz; # 替换为您的域名 - - # 自定义响应头:缓存命中状态和剩余缓存时间 - add_header X-Cache-Status $upstream_cache_status; - add_header X-Cache-TTL $upstream_http_x_cache_ttl; - - # 固定请求头 - proxy_set_header User-Agent "TiviMate/5.1.0"; - proxy_set_header Referer "https://edge3.hkdvb.com/"; - proxy_set_header Host edge3.hkdvb.com; # 确保请求的 Host 匹配 Cloudflare 配置 - - # 代理头设置 - #proxy_set_header X-Real-IP $remote_addr; # 传递客户端真实 IP - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 支持多级代理 - - # 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_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 秒 - - # 默认 location 配置 - location / { - proxy_pass https://edge3.hkdvb.com; # 替换为您的源站地址 - } - - # 针对 .ts 和 .aac 文件的特殊缓存设置 - location ~* \.(ts|aac)$ { - proxy_pass https://edge3.hkdvb.com; # 替换为您的源站地址 - proxy_cache_valid 200 206 60s; # 缓存 .ts 文件 60 秒 - expires 60s; # 设置浏览器端缓存 60 秒 - } - } - - server { - listen 20006; - listen [::]:20006; - server_name cdn.1678520.xyz; # 替换为您的域名 - - # 自定义响应头:缓存命中状态和剩余缓存时间 - 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 cdn5.163189.xyz; # 确保请求的 Host 匹配 Cloudflare 配置 - - # 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_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 秒 - - # 默认 location 配置 - location / { - proxy_pass https://cdn5.163189.xyz; # 替换为您的源站地址 - } - - # 针对 .ts 和 .aac 文件的特殊缓存设置 - location ~* \.(ts|aac)$ { - proxy_pass https://cdn5.163189.xyz; # 替换为您的源站地址 - proxy_cache_valid 200 206 60s; # 缓存 .ts 文件 60 秒 - expires 60s; # 设置浏览器端缓存 60 秒 - } - } - - server { - listen 20007; - listen [::]:20007; - server_name cdn.1678520.xyz; # 替换为您的域名 - - # 自定义响应头:缓存命中状态和剩余缓存时间 - 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 cdn2.163189.xyz; # 确保请求的 Host 匹配 Cloudflare 配置 - - # 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_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 秒 - - # 默认 location 配置 - location / { - proxy_pass https://cdn2.163189.xyz; # 替换为您的源站地址 - } - - # 针对 .ts 和 .aac 文件的特殊缓存设置 - location ~* \.(ts|aac)$ { - proxy_pass https://cdn2.163189.xyz; # 替换为您的源站地址 - proxy_cache_valid 200 206 60s; # 缓存 .ts 文件 60 秒 - expires 60s; # 设置浏览器端缓存 60 秒 - } - } - - server { - 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; - - # 代理头设置 - 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 配置 - - # 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_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 秒 - - # 默认 location 配置 - location / { - proxy_pass https://aktv.top; # 替换为您的源站地址 - } - - # 针对 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 和 .aac 文件的特殊缓存设置 - location ~* \.(ts|aac)$ { - proxy_pass https://aktv.top; # 替换为您的源站地址 - proxy_cache_valid 200 206 60s; # 缓存 .ts 文件 60 秒 - expires 60s; # 设置浏览器端缓存 60 秒 - } - } - - server { - listen 30001; - listen [::]:30001; - server_name cdn.1678520.xyz; # 替换为您的域名 - - # 自定义响应头:缓存命中状态和剩余缓存时间 - add_header X-Cache-Status $upstream_cache_status; - add_header X-Cache-TTL $upstream_http_x_cache_ttl; - - # 固定请求头 - proxy_set_header User-Agent "TiviMate/5.1.0"; - proxy_set_header Referer "https://www.stream-link.org/"; - proxy_set_header Host www.stream-link.org; - proxy_set_header Accept "*/*"; # 允许所有类型的内容 - proxy_set_header Connection "keep-alive"; - - # 代理头设置 - #proxy_set_header X-Real-IP $remote_addr; # 传递客户端真实 IP - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 支持多级代理 - - # 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_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 秒 - - # 默认 location 配置 - location / { - proxy_pass https://www.stream-link.org; # 替换为您的源站地址 - } - - # 针对 m3u 文件内容修改 - location ~ \.m3u$ { - proxy_pass https://www.stream-link.org; - - # 替换为相对路径 - sub_filter 'https://sc2025.stream-link.org' 'http://$host:30002'; - sub_filter_once off; - #sub_filter_types application/vnd.apple.mpegurl text/plain; - - # 解压 gzip 压缩内容(如源站启用了压缩) - gzip off; - proxy_set_header Accept-Encoding ""; - } - - } - - server { - listen 30002; - listen [::]:30002; - server_name cdn.1678520.xyz; - - location / { - proxy_pass https://sc2025.stream-link.org; - proxy_set_header Host sc2025.stream-link.org; - proxy_set_header User-Agent "TiviMate/5.1.0"; - proxy_set_header Referer "https://sc2025.stream-link.org/"; - proxy_redirect ~https?://[^/]+(/.*) http://$host:30003$1; - } - } - - server { - listen 30003; - listen [::]:30003; - server_name cdn.1678520.xyz; - - location / { - proxy_pass https://live-edge-06.stream-link.org; - proxy_set_header Host live-edge-06.stream-link.org; - proxy_set_header User-Agent "TiviMate/5.1.0"; - proxy_set_header Referer "https://live-edge-06.stream-link.org/"; - } - } - + ## + # 基本设置 + ## + sendfile on; + tcp_nopush on; + tcp_nodelay on; + keepalive_timeout 65; + keepalive_requests 1000; # 增加连接复用次数 + types_hash_max_size 2048; + + include /etc/nginx/mime.types; + default_type application/octet-stream; + + ## + # SSL 设置 + ## + ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; + ssl_prefer_server_ciphers on; + + ## + # 日志设置 + ## + set_real_ip_from 0.0.0.0/0; # 允许所有代理传递真实 IP + real_ip_header X-Forwarded-For; + real_ip_recursive on; + log_format custom '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + access_log /var/log/nginx/access.log custom; + error_log /var/log/nginx/error.log; + + ## + # Gzip 压缩设置 + ## + gzip on; + gzip_disable "msie6"; + gzip_vary on; + gzip_proxied any; + gzip_comp_level 6; + gzip_buffers 16 8k; + gzip_http_version 1.1; + gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript video/mp2t application/vnd.ms-fontobject application/x-font-ttf font/opentype font/woff2 image/svg+xml image/x-icon; + + ## + # 缓存路径配置 + ## + proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=cache_zone:10m max_size=500m inactive=24h use_temp_path=off; + + ## + # 虚拟主机配置 + ## + include /etc/nginx/conf.d/*.conf; + # include /etc/nginx/sites-enabled/*; + + # 定义变量以简化配置 + map $server_port $host_name { + 20000 cdn.163189.xyz; + 20001 cdn3.163189.xyz; + 20002 cdn12.jdshipin.com; + 20003 cdn6.163189.xyz; + 20004 v2hcdn.jdshipin.com; + 20005 edge3.hkdvb.com; + 20006 cdn5.163189.xyz; + 20007 cdn2.163189.xyz; + 20008 aktv.top; + 30001 www.stream-link.org; + 30002 sc2025.stream-link.org; + 30003 live-edge-06.stream-link.org; + } + + # 定义默认缓存配置 + proxy_cache_valid 200 206 5s; + proxy_cache_methods GET HEAD; + proxy_ignore_headers Cache-Control Expires; + expires 5s; + + # 服务器配置 + server { + listen 20000 default_server; + listen [::]:20000 default_server; + server_name $host_name; # 使用变量替换域名 + + # 启用 HTTP/2 + listen 443 ssl http2; + + 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 $host_name; # 确保请求的 Host 匹配 Cloudflare 配置 + + 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_cache cache_zone; # 使用指定的缓存区域 + proxy_cache_lock on; # 启用缓存锁 + + location / { + proxy_pass https://$host_name; # 使用变量替换源站地址 + } + + # 针对 .ts 和 .aac 文件的特殊缓存设置 + location ~* \.(ts|aac)$ { + proxy_pass https://$host_name; # 使用变量替换源站地址 + 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 ""; + } + + # 针对 .m3u 文件内容修改 + location ~ \.m3u$ { + proxy_pass https://www.stream-link.org; + + # 替换为相对路径 + sub_filter 'https://sc2025.stream-link.org' 'http://$host:30002'; + sub_filter_once off; + # sub_filter_types application/vnd.apple.mpegurl text/plain; + + # 解压 gzip 压缩内容(如源站启用了压缩) + gzip off; + proxy_set_header Accept-Encoding ""; + } + + # 针对包含 smt2.1.5.php 的 URL,设置缓存时间为 60 秒 + location ~ smt2\.1\.5\.php { + proxy_cache_valid 200 206 60s; # 缓存 60 秒 + expires 60s; # 设置浏览器缓存 60 秒 + proxy_pass https://cdn12.jdshipin.com; + } + } + + # 额外的服务器配置 + server { + listen 30001; + listen [::]:30001; + server_name $host_name; + + add_header X-Cache-Status $upstream_cache_status; + add_header X-Cache-TTL $upstream_http_x_cache_ttl; + + proxy_set_header User-Agent "TiviMate/5.1.0"; + proxy_set_header Referer "https://www.stream-link.org/"; + proxy_set_header Host www.stream-link.org; + proxy_set_header Accept "*/*"; # 允许所有类型的内容 + proxy_set_header Connection "keep-alive"; + + 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_cache cache_zone; # 使用指定的缓存区域 + proxy_cache_lock on; # 启用缓存锁 + + location / { + proxy_pass https://www.stream-link.org; # 使用变量替换源站地址 + } + } + + # 其他服务器配置 + server { + listen 30002; + listen [::]:30002; + server_name $host_name; + + location / { + proxy_pass https://sc2025.stream-link.org; + proxy_set_header Host sc2025.stream-link.org; + proxy_set_header User-Agent "TiviMate/5.1.0"; + proxy_set_header Referer "https://sc2025.stream-link.org/"; + proxy_redirect ~https?://[^/]+(/.*) http://$host:30003$1; + } + } + + server { + listen 30003; + listen [::]:30003; + server_name $host_name; + + location / { + proxy_pass https://live-edge-06.stream-link.org; + proxy_set_header Host live-edge-06.stream-link.org; + proxy_set_header User-Agent "TiviMate/5.1.0"; + proxy_set_header Referer "https://live-edge-06.stream-link.org/"; + } + } } -