
Nginx を使用してモバイル トラフィックをリダイレクトしようとしていますが、まだエラーが発生します。
私が着たものは次のとおりですnginx.conf
:
map $geoip_country_code $preferred_upstream {
default eu;
US us;
}
map $geoip_country_code $preferred_upstream_mp {
default eum;
US usm;
}
upstream us {
server unix:/path/us.sock;
}
upstream eu {
server unix:/path/eu.sock;
}
upstream usm {
server unix:/path/usm.sock;
}
upstream eum {
server unix:/path/eum.sock;
}
server {
....
location @fallback {
# add trailing slash if url has no dot in it
rewrite ^/([^\.]*[^/])$ /$1/ permanent;
include uwsgi_params;
set $mobile_rewrite do_not_perform;
if ($http_user_agent ~* '(iPhone|iPod|iPad|Android|BlackBerry|webOS|Windows Phone)') {
set $mobile_rewrite perform;
}
if ($mobile_rewrite = do_not_perform) {
uwsgi_pass $preferred_upstream;
break;
}
if ($mobile_rewrite = perform) {
uwsgi_pass $preferred_upstream_mp;
break;
}
.......
}
...
}
ngx_http_headers_more_filter_module
以下をインストールして設定しました:
more_set_headers -s 200 'Vary: Accept-Encoding, User-Agent';
最初から動作します。しかし、その後、正しいバージョンを正しいデバイスに表示できなくなることがあります。
理由はわかりません。おそらくキャッシュ設定に問題があるのでしょうか? nginx はユーザーエージェントを検出せず、キャッシュページのみを提供しているようです。
誰か助けてくれませんか? 何かアドバイスがあれば、ぜひお願いします。