mirror of
https://github.com/tmxk2021/CF-IPTV.git
synced 2025-12-19 00:05:19 +08:00
215 lines
6.9 KiB
Nginx Configuration File
215 lines
6.9 KiB
Nginx Configuration File
user www-data;
|
||
worker_processes auto;
|
||
pid /run/nginx.pid;
|
||
include /etc/nginx/modules-enabled/*.conf;
|
||
|
||
events {
|
||
worker_connections 1024; # 提高连接数上限
|
||
multi_accept on; # 允许多连接同时接受
|
||
}
|
||
|
||
http {
|
||
##
|
||
# 基本设置
|
||
##
|
||
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/";
|
||
}
|
||
}
|
||
}
|