過去問ドリル

LinuCレベル3 プラットフォームスペシャリスト 高可用性プラットフォームの構築 問27

高可用性プラットフォームの構築/Webサーバーによる負荷分散

nginxをリバースプロキシとして使い、バックエンドのレスポンスをディスク上にキャッシュする設定を行いたい。キャッシュ領域のパスや共有メモリゾーンを定義するために使うディレクティブとして適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル3 プラットフォームスペシャリストの出題範囲「高可用性プラットフォームの構築」に対応。実際の試験問題ではありません)

正解:D

解説

proxy_cache_pathはキャッシュデータを格納するディレクトリのパス・階層レベル・共有メモリゾーン名(keys_zone)・最大サイズなどを定義するディレクティブで、nginxのディスクキャッシュ設定の中核をなす。

選択肢ごとの解説

  • A誤り。proxy_buffer_sizeはバックエンドから受信したレスポンスの最初の部分を読み込むバッファのサイズを設定するディレクティブで、ディスクキャッシュ領域の定義には使わない。
  • B誤り。proxy_connect_timeoutはnginxがバックエンドへのTCP接続を確立する際のタイムアウトを設定するディレクティブで、キャッシュ設定とは無関係。
  • C誤り。proxy_set_headerはバックエンドへ転送するリクエストのHTTPヘッダを設定・上書きするディレクティブで、キャッシュ設定とは無関係。
  • D正しい。proxy_cache_pathはキャッシュデータを格納するディレクトリパス・ディレクトリ階層(levels)・共有メモリゾーン(keys_zone)・最大サイズ(max_size)等を設定するディレクティブで、ディスクキャッシュの有効化に必要な設定
LinuCレベル3 プラットフォームスペシャリストの問題を演習モードで解く