From 8cf795ef794985cee68958ee3a4829cd03f23415 Mon Sep 17 00:00:00 2001
From: Galen Charlton <gmc@equinoxOLI.org>
Date: Tue, 24 Jan 2023 14:10:32 -0500
Subject: [PATCH] Bug 32716: larger proxy_buffer_size in NGINX example config

This patch updates the example NGINX config to increase the
proxy_buffer_size to 8k. The default value of 4k (on some platforms)
has empirically been shown to be a bit too small for the Link
headers emitted by the REST API when pagination is requested.

To test
-------
[1] Set up a Koha system with NGINX as a reverse proxy in
    front of it (either in front of Apache or in front of
    of Starman).
[2] Perform a patron search that returns at least two pages
    of results and navigate to the second page.
[3] Note that the navigation can fail with a 502 HTTP error
    and an "upstream sent too big header while reading response
    header from upstream" error in the NGINX log.

    The problem is most likely when the pagesize of the server
    running NGINX is 4096 bytes.
[4] Update the NGINX configuration per this patch and restart
    NGINX.
[5] This time, repeating step 2 should work.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
---
 etc/nginx.conf | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/etc/nginx.conf b/etc/nginx.conf
index 4701a9a645..778099a0a3 100644
--- a/etc/nginx.conf
+++ b/etc/nginx.conf
@@ -17,6 +17,10 @@ server {
     location / {
         include proxy_params;
         proxy_pass http://intranet;
+
+	# provide room for the Link headers emitted
+	# by REST API methods when doing pagination
+	proxy_buffer_size 8k;
     }
 }
 
@@ -29,5 +33,9 @@ server {
     location / {
         include proxy_params;
         proxy_pass http://opac;
+
+	# provide room for the Link headers emitted
+	# by REST API methods when doing pagination
+	proxy_buffer_size 8k;
     }
 }
-- 
2.20.1