Я пытался следовать этот учебник кэшировать запросы против yt3.ggpht.com.
Моя конфигурация выглядит так:
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 вернет:
Запрошенный URL
/-C9gaunpPNo8/VYGWj4xT-uI/AAAAAAAAAGo/pUPfpvLF7Dc/w2120-fcrop64=1-nd-c0xffffffff-rj-k-no/
не был найден на этом сервере. Это все, что мы знаем.
Если я удалю proxy_set_header Host $http_host;
строки мои запросы проходят, но кеширование не работает.
Почему не работает, если я поставил Host
(Это происходит, если я запускаю запросы к другому удаленному серверу dummy-ngnix).
А также, почему параметр Host
необходимо включить кеширование?