为NGINX代理启用caching

我试图按照本教程cachingyt3.ggpht.com的请求。

我的configuration如下所示:

proxy_cache_path /tmp/nginx levels=1:2 keys_zone=my_zone:10m inactive=60m; proxy_cache_key "$scheme$request_method$host$request_uri"; server { listen 80 default_server; location / { proxy_cache my_zone; add_header X-Proxy-Cache $upstream_cache_status; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; include proxy_params; proxy_pass https://yt3.ggpht.com; } } 

如果我运行链接对我的本地服务器,yt3.ggpht.com返回:

在此服务器上未find请求的URL /-C9gaunpPNo8/VYGWj4xT-uI/AAAAAAAAAGo/pUPfpvLF7Dc/w2120-fcrop64=1-nd-c0xffffffff-rj-k-no/ 。 我们知道的就这些。

如果我删除proxy_set_header Host $http_host; 行,我的请求通过,但caching不起作用。

为什么不工作,如果我设置Host (它,如果我运行请求对另一个dummy-ngnix远程服务器)。

而且,为什么参数Host需要启用caching?