Eu tentei seguir este tutorial para armazenar solicitações em cache contra yt3.ggpht.com .
Minha configuração parece:
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;
}
}
Se eu executar o link no meu servidor local, yt3.ggpht.com retornará:
The requested URL
/-C9gaunpPNo8/VYGWj4xT-uI/AAAAAAAAAGo/pUPfpvLF7Dc/w2120-fcrop64=1-nd-c0xffffffff-rj-k-no/
was not found on this server. That’s all we know.
Se eu remover a linha proxy_set_header Host $http_host;
, minhas solicitações serão aprovadas, mas o armazenamento em cache não funcionará.
Por que isso não funciona se eu definir Host
(se eu executar solicitações em outro servidor remoto dummy-ngnix).
E também, por que o parâmetro Host
é necessário para ativar o armazenamento em cache?