Por que usar cache diferente? Provavelmente seria suficiente definir sua chave de cache com base na variável $iphone_request
?
proxy_cache_key "$iphone_request$uri";
Atualmente, estou usando o nginx como proxy reverso com o cache ativado.
No entanto, o site principal tem dois layouts diferentes, dependendo do agente do usuário (móvel ou não).
Eu tentei algo parecido com isso:
# mobile users
if ($http_user_agent ~* '(iPhone|iPod|mobile|Android|2.0\ MMP|240x320|AvantGo|BlackBerry|Blazer|Cellphone|Danger|DoCoMo|Elaine/3.0|EudoraWeb|hiptop|IEMobile)') {
set $iphone_request '1';
}
if ($iphone_request = '1') {
proxy_cache mobile;
}
if ($iphone_request = '') {
proxy_cache site;
}
proxy_cache_key "$scheme://$host$request_uri";
proxy_pass http://real-site.tld;
No entanto, nginx dá um erro, afirmando que proxy_cache não pode ser usado em uma estrutura if.
Qualquer outra maneira de servir de um cache diferente, dependendo do navegador?
Obrigado Tuinslak
Redirecionar para subdomínio para dispositivos móveis (com política de cache diferente)?
Tags nginx