wallhaven反代宝塔示例

#PROXY-START/
# API端点的特殊缓存配置
location ^~ /api/v1/ {
    proxy_ssl_server_name on;
    proxy_pass https://wallhaven.cc;
    proxy_set_header Host wallhaven.cc;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_http_version 1.1;
    # API缓存配置
    proxy_cache cache_one;
    proxy_cache_key $host$uri$is_args$args;
    proxy_cache_valid 200 10h;      # API响应缓存10小时
    proxy_cache_valid 404 10m;      # 404错误缓存10分钟(较短时间)
    proxy_cache_valid 500 5m;       # 服务器错误缓存5分钟(较短时间)
    proxy_cache_methods GET HEAD;   # 只缓存GET和HEAD请求
    # 隐藏后端的缓存头并设置我们自己的
    proxy_hide_header Cache-Control;
    proxy_hide_header Expires;
    proxy_hide_header ETag;
    proxy_hide_header Last-Modified;
    # 为API响应设置缓存头
    add_header Cache-Control "public, max-age=36000" always;  # 10小时 = 36000秒
    add_header X-Cache $upstream_cache_status always;
    add_header X-Cache-Duration "10h" always;
    # 注意:API响应通常是JSON数据,不适合内容替换
}
#内容页缓存
location ^~ /
{
    proxy_ssl_server_name on;
    proxy_pass https://wallhaven.cc;
    proxy_set_header Host wallhaven.cc;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_http_version 1.1;
    # proxy_hide_header Upgrade;
    add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
    proxy_set_header Accept-Encoding "";
sub_filter "w.wallhaven.cc" "w.amirror.ink";
sub_filter "th.wallhaven.cc" "th.amirror.ink";
  sub_filter "wallhaven.cc" "amirror.ink";
sub_filter "static.wallhaven.cc" "static.amirror.ink";
    sub_filter_once off;
    #proxy_ignore_headers Set-Cookie Cache-Control expires;
 # API缓存配置
    proxy_cache cache_one;
    proxy_cache_key $host$uri$is_args$args;
    proxy_cache_valid 200 10h;      # API响应缓存10小时
    proxy_cache_valid 404 10m;      # 404错误缓存10分钟(较短时间)
    proxy_cache_valid 500 5m;       # 服务器错误缓存5分钟(较短时间)
    proxy_cache_methods GET HEAD;   # 只缓存GET和HEAD请求
    # 隐藏后端的缓存头并设置我们自己的
    proxy_hide_header Cache-Control;
    proxy_hide_header Expires;
    proxy_hide_header ETag;
    proxy_hide_header Last-Modified;
    # 为API响应设置缓存头
    add_header Cache-Control "public, max-age=36000" always;  # 10小时 = 36000秒
    add_header X-Cache $upstream_cache_status always;
    add_header X-Cache-Duration "10h" always;
}
#PROXY-END/

------------------------------------------------------------------------------------------------------------------------------------

#PROXY-START/
# API端点的特殊缓存配置
location ^~ /api/v1/ {
    proxy_ssl_server_name on;
    proxy_pass https://wallhaven.cc;
    proxy_set_header Host wallhaven.cc;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_http_version 1.1;
    # API缓存配置
    proxy_cache cache_one;
    proxy_cache_key $host$uri$is_args$args;
    proxy_cache_valid 200 10h;      # API响应缓存10小时
    proxy_cache_valid 404 10m;      # 404错误缓存10分钟(较短时间)
    proxy_cache_valid 500 5m;       # 服务器错误缓存5分钟(较短时间)
    proxy_cache_methods GET HEAD;   # 只缓存GET和HEAD请求
    # 隐藏后端的缓存头并设置我们自己的
    proxy_hide_header Cache-Control;
    proxy_hide_header Expires;
    proxy_hide_header ETag;
    proxy_hide_header Last-Modified;
    # 为API响应设置缓存头
    add_header Cache-Control "public, max-age=36000" always;  # 10小时 = 36000秒
    add_header X-Cache $upstream_cache_status always;
    add_header X-Cache-Duration "10h" always;
    # 注意:API响应通常是JSON数据,不适合内容替换
}
location ^~ /
{
    proxy_ssl_server_name on;
    proxy_pass https://wallhaven.cc;
    proxy_set_header Host wallhaven.cc;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_http_version 1.1;
    proxy_ignore_headers Set-Cookie Cache-Control expires;
    # proxy_hide_header Upgrade;
    add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
    proxy_set_header Accept-Encoding "";
sub_filter "w.wallhaven.cc" "w.amirror.ink";
sub_filter "th.wallhaven.cc" "th.amirror.ink";
  sub_filter "wallhaven.cc" "amirror.ink";
sub_filter "static.wallhaven.cc" "static.amirror.ink";
    sub_filter_once off;
    if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2|json)$" )
    {
         expires 1200m;
    }
    #proxy_ignore_headers Set-Cookie Cache-Control expires;
    proxy_cache cache_one;
    proxy_cache_key $host$uri$is_args$args;
    proxy_cache_valid 200 304 301 302 1200m;
}
#PROXY-END/

相关文章

评论(0)
游客的头像
全部评论
最新