Bird
Raised Fist0
Nginxdevops~5 mins

Proxy buffering in Nginx - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is proxy buffering in nginx?
Proxy buffering is a feature in nginx that temporarily stores the response from a backend server before sending it to the client. This helps improve performance and manage slow clients.
Click to reveal answer
beginner
Which nginx directive controls whether proxy buffering is enabled?
The directive proxy_buffering controls if buffering is enabled. Setting it to on enables buffering, and off disables it.
Click to reveal answer
intermediate
What happens if proxy_buffering is set to off?
When proxy_buffering off; is set, nginx sends data to the client immediately as it receives it from the backend, without storing it. This can increase latency for slow clients.
Click to reveal answer
intermediate
Name two directives related to proxy buffering size in nginx.
Two important directives are proxy_buffer_size which sets the size of the buffer for the first part of the response, and proxy_buffers which sets the number and size of buffers for the rest of the response.
Click to reveal answer
intermediate
Why might you want to disable proxy buffering in nginx?
You might disable proxy buffering to reduce latency for streaming or real-time data, where you want the client to receive data as soon as possible without delay.
Click to reveal answer
What does the proxy_buffering directive do in nginx?
AControls if nginx stores backend responses before sending to clients
BEnables caching of static files
CSets the timeout for proxy connections
DDefines the maximum upload size
If proxy_buffering is off, what is the effect?
ANginx sends data to clients immediately as it receives it
BNginx buffers all responses fully before sending
CNginx disables proxying
DNginx caches the response on disk
Which directive sets the size of the buffer for the first part of the response?
Aproxy_cache_path
Bproxy_buffers
Cproxy_buffer_size
Dproxy_pass
Why is proxy buffering useful for slow clients?
AIt speeds up backend server processing
BIt reduces load on the backend by sending data at client speed
CIt stores responses to send faster to clients
DIt compresses data before sending
Which of these is NOT a reason to disable proxy buffering?
ATo reduce latency for streaming data
BTo immediately send data to clients
CTo support real-time applications
DTo improve caching efficiency
Explain what proxy buffering is in nginx and why it matters.
Think about how nginx handles backend responses before sending to clients.
You got /3 concepts.
    Describe how to configure proxy buffering in nginx and what happens when it is turned off.
    Consider the directives and their impact on response delivery.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does proxy_buffering on; do in an Nginx configuration?
      easy
      A. It enables buffering of responses from the backend before sending to clients.
      B. It disables buffering and sends data immediately to clients.
      C. It caches static files on the client side.
      D. It blocks all proxy requests.

      Solution

      1. Step 1: Understand proxy_buffering directive

        The directive proxy_buffering controls if Nginx buffers backend responses before sending to clients.
      2. Step 2: Effect of setting it to 'on'

        When set to on, Nginx stores backend data temporarily to improve speed and reduce backend load.
      3. Final Answer:

        It enables buffering of responses from the backend before sending to clients. -> Option A
      4. Quick Check:

        proxy_buffering on = buffering enabled [OK]
      Hint: Buffering means storing backend data before sending [OK]
      Common Mistakes:
      • Confusing buffering with caching
      • Thinking it disables buffering
      • Assuming it blocks requests
      2. Which of the following is the correct syntax to disable proxy buffering in Nginx?
      easy
      A. proxy_buffering disable;
      B. proxy_buffering off;
      C. proxy_buffering false;
      D. proxy_buffering no;

      Solution

      1. Step 1: Check valid values for proxy_buffering

        The valid values for proxy_buffering are on or off.
      2. Step 2: Identify correct syntax to disable

        To disable buffering, use proxy_buffering off;. Other values cause syntax errors.
      3. Final Answer:

        proxy_buffering off; -> Option B
      4. Quick Check:

        Disable buffering = proxy_buffering off [OK]
      Hint: Use 'off' to disable proxy buffering in Nginx [OK]
      Common Mistakes:
      • Using 'disable' instead of 'off'
      • Using 'false' or 'no' which are invalid
      • Missing semicolon at end
      3. Given this Nginx config snippet:
      location /api/ {
        proxy_pass http://backend;
        proxy_buffering off;
      }

      What is the expected behavior when a client requests /api/data?
      medium
      A. Nginx buffers the entire backend response before sending it to the client.
      B. Nginx caches the response for future requests.
      C. Nginx blocks the request due to buffering being off.
      D. Nginx sends the backend response to the client immediately without buffering.

      Solution

      1. Step 1: Analyze proxy_buffering setting

        The config sets proxy_buffering off; which disables buffering.
      2. Step 2: Understand effect on response delivery

        With buffering off, Nginx sends backend data immediately to the client as it arrives.
      3. Final Answer:

        Nginx sends the backend response to the client immediately without buffering. -> Option D
      4. Quick Check:

        proxy_buffering off = immediate send [OK]
      Hint: Off means no buffering, data sent immediately [OK]
      Common Mistakes:
      • Assuming buffering still happens
      • Confusing buffering with caching
      • Thinking request is blocked
      4. You set proxy_buffering on; but notice slow client response times. Which change can help fix this?
      medium
      A. Set proxy_buffering off; to disable buffering.
      B. Increase proxy_buffers size to hold more data.
      C. Remove proxy_pass directive.
      D. Set proxy_buffering on; again.

      Solution

      1. Step 1: Identify cause of slow response

        Buffering can delay sending data until buffers fill, causing slow client response.
      2. Step 2: Fix by disabling buffering

        Setting proxy_buffering off; sends data immediately, improving response time.
      3. Final Answer:

        Set proxy_buffering off; to disable buffering. -> Option A
      4. Quick Check:

        Slow response + buffering on = disable buffering [OK]
      Hint: Turn off buffering to send data immediately [OK]
      Common Mistakes:
      • Increasing buffers without understanding cause
      • Removing proxy_pass breaks proxy
      • Repeating same setting without change
      5. You want to optimize Nginx proxy for a slow backend that streams data slowly. Which configuration is best?
      hard
      A.
      proxy_buffering on;
      proxy_buffers 4 8k;
      B.
      proxy_buffering off;
      proxy_cache on;
      C.
      proxy_buffering off;
      D.
      proxy_buffering on;
      proxy_buffer_size 16k;

      Solution

      1. Step 1: Understand backend streaming behavior

        A slow backend streaming data slowly benefits from immediate data forwarding to clients.
      2. Step 2: Choose buffering setting for streaming

        Disabling buffering (proxy_buffering off;) sends data as it arrives, reducing latency.
      3. Step 3: Evaluate other options

        Options with buffering on delay data; caching is unrelated to streaming speed.
      4. Final Answer:

        proxy_buffering off; -> Option C
      5. Quick Check:

        Slow streaming backend = disable buffering [OK]
      Hint: Disable buffering for slow streaming backends [OK]
      Common Mistakes:
      • Keeping buffering on causes delays
      • Confusing caching with buffering
      • Increasing buffer sizes unnecessarily
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard