nginx のキャッシュには、大きく2つの方法があります。(下記の記事参照)
今回は、同じURLでもパソコンからの見え方をモバイル機器、あるいはスマートフォンからの見え方を別にしているサイトもあります。
このような場合、先の記事では、URL毎にキャッシュされていくので、パソコンからか、モバイル(スマホ)からかなどの分類がないため、先にキャッシュされた情報をいずれも場合でも出力してしまいます。
今回は、そのような場合、どうすれば良いか簡単に解説してみます。
| レンタルサーバー・自宅サーバー設定・構築のヒント |
nginx のキャッシュには、大きく2つの方法があります。(下記の記事参照)
今回は、同じURLでもパソコンからの見え方をモバイル機器、あるいはスマートフォンからの見え方を別にしているサイトもあります。
このような場合、先の記事では、URL毎にキャッシュされていくので、パソコンからか、モバイル(スマホ)からかなどの分類がないため、先にキャッシュされた情報をいずれも場合でも出力してしまいます。
今回は、そのような場合、どうすれば良いか簡単に解説してみます。
2014年2月3日 初版
先のとおり 同じURLを使って パソコンからの見え方をモバイル機器、あるいはスマートフォンからの見え方を別にしているサイトの場合、
キャッシュキーを変更することで簡単に対応することができます。
|
|
上記のproxy_cache_key (or fastcgi_cache_key) ディレクティブの先頭に $mobilef を追加しただけです。
$mobilef は、ユーザエージェント情報から、タブレット端末、スマートフォン端末などのモバイル端末からのアクセスか否かを判定しています。
もし、モバイル端末からのアクセスであれば、$mobilefに‘mobile.’ を設定しています。(ここの文字列はなんでも良いです。ここではわかりやすいように mobile. としているだけです。)
これによって、例えば、http://example.com へ
パソコンからアクセスした場合、→ キャッシュキーは、‘http://example.com’ となります。
モバイルからアクセスした場合、→ キャッシュキーは、‘mobile.http://example.com’ となります。
キャッシュキーが異なるということは、キャッシュファイルも場合によってはディレクトリも異なることになります。
先の例で、キャッシュパスの設定が以下の場合のキャッシュファイルのパス、ファイル名をコマンドで出力してみます。(出力方法は、nginx でリバースプロキシ、FastCGIキャッシュのキャッシュを削除する方法をまとめて解説してみた を参照。)
|
|
|
このように全く違うことがわかります。
これで、キャッシュが異なりますから、モバイルの場合は、モバイルのキャッシュファイルが用いられ、パソコンからの場合は、パソコンのキャッシュファイルが用いられるようになります。
(amazon ) |
インフラエンジニア教本2――システム管理・構築技術解説 (SoftwareDesign別冊)に寄稿しました。
「ログを読む技術」の再掲載になります。
8月号を見逃された方は、是非、ご一読くださいませ。 |
(amazon ) |
Software Design 8月号に寄稿しました。
「ログを読む技術」について寄稿しました。
興味のある方は、是非、ご一読くださいませ。 |
また、執筆 や 当サイトにおける広告 のご依頼などございましたら、お問い合わせページより ご一報ください。 |
Copyright © 2009 - 2024 レンタルサーバー・自宅サーバー設定・構築のヒント
コメントを投稿 :