用这个,我测试了一下可行,cdnimg.example.com改成你自己的域名,bucketname.oss-cn-beijing.aliyuncs.com换成你自己的oss的bucket url:
http { # 定义缓存区域 proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=40g inactive=60m use_temp_path=off; server { listen 80; server_name cdnimg.example.com; location / { # 设置缓存键,使用URL作为键 proxy_cache_key "$scheme$request_method$host$request_uri"; # 使用缓存区域 proxy_cache my_cache; # 设置缓存有效期为永久(除非达到最大缓存大小) proxy_cache_valid 200 302 10m; proxy_cache_valid 404 1m; # 修改发送给后端服务器的Host头 proxy_set_header Host bucketname.oss-cn-beijing.aliyuncs.com; # 修改发送给后端服务器的Referer头 proxy_set_header Referer "http://www.example.com"; # 代理请求到后端服务器 proxy_pass http://bucketname.oss-cn-beijing.aliyuncs.com; } } }
网友回复