Thank you to everyone who responded. The solution to the problem was related to the fact that corporate devices have a DLP agent installed, which seemingly adds something to the request. On PCs without the DLP agent, everything worked fine, even though the initial value for the reverse proxy was set to proxy_buffer_size 128k;
I also tried this configuration, but it turned out the issue was not related to timeouts:
opensearch_security.cookie.ttl: 86400000
opensearch_security.session.ttl: 86400000
opensearch_security.session.keepalive: true
By setting proxy_buffer_size 512k;
, the dashboard started working on corporate devices with the DLP agent.
Here is the final configuration for the Nginx server:
location / {
proxy_pass http://upstream/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port 443;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffer_size 512k;
proxy_buffers 16 1m;
proxy_busy_buffers_size 1m;
proxy_read_timeout 1200s;
client_max_body_size 1G;
client_body_buffer_size 40M;
}