Nginx Proxy Manager (NPM) 是一个基于Nginx的图形化管理工具,可以方便地配置反向代理、SSL证书等。要实现HTML页面的快速缓存,可以通过以下步骤配置:
确保你已经安装并运行了Nginx Proxy Manager。如果没有安装,可以参考官方文档进行安装。
在代理主机的"Advanced"选项卡中,添加以下Nginx配置指令:
# 启用代理缓存
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=STATIC:10m inactive=24h max_size=1g use_temp_path=off;
server {
# ... 其他配置 ...
location / {
# 使用定义的缓存区域
proxy_cache STATIC;
# 缓存键设置
proxy_cache_key "$scheme$request_method$host$request_uri";
# 仅缓存200响应,缓存时间1小时
proxy_cache_valid 200 1h;
# 忽略Set-Cookie头
proxy_ignore_headers Set-Cookie;
# 添加缓存状态头,便于调试
add_header X-Proxy-Cache $upstream_cache_status;
# 其他代理设置
proxy_pass http://your_backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
根据你的需求调整以下参数:
proxy_cache_path
: 定义缓存路径和大小
/var/cache/nginx
: 缓存存储路径levels=1:2
: 目录结构层级keys_zone=STATIC:10m
: 定义共享内存区域名称和大小inactive=24h
: 不活跃缓存保留时间max_size=1g
: 最大缓存大小proxy_cache_valid
: 定义不同响应码的缓存时间
proxy_cache_valid 200 302 10m;
缓存200和302响应10分钟X-Proxy-Cache
头,其值可能是:
MISS
: 第一次访问,未命中缓存HIT
: 命中缓存BYPASS
: 绕过缓存如果需要更精细的缓存控制,可以添加以下规则:
# 根据请求方法决定是否缓存
proxy_cache_methods GET HEAD;
# 不缓存特定路径
location /no-cache {
proxy_cache off;
}
# 根据cookie决定是否缓存
map $http_cookie $cache_bypass {
default 0;
"~*wordpress_logged_in" 1;
}
server {
# ... 其他配置 ...
location / {
proxy_cache_bypass $cache_bypass;
proxy_no_cache $cache_bypass;
# ... 其他配置 ...
}
}
如果需要手动清除缓存:
rm -rf /var/cache/nginx/*
通过以上配置,你可以有效地缓存HTML页面,显著提高网站响应速度和服务器性能。