Recently, we started experiencing errors when setting passwords on login profiles.
We suspect this happens because the user is linked to a large amount of data. When the profile submission fires, the user-info
request attempts to determine the number of records associated with this user in order to display a warning. However, the request takes too long, exceeding 30 seconds in our test case, resulting in a 504 Gateway Timeout
.
We believe this might be due to differences in our NGINX configuration:
keepalive_timeout 65;
proxy_read_timeout <not set, use nginx default>
According to the NGINX documentation, the default proxy_read_timeout
is 60 seconds, which seems to contradict our theory.
From what we can see in the following issue thread, increasing the timeout resolves a variety of problems:
Align nginx and ALB timeout values · Issue #8214 · medic/cht-core
We have been somewhat conservative with our timeout settings, as they help ensure that unresponsive servers do not leave connections open unnecessarily. However, we may have set them too strictly due to a lack of understanding. Additionally, a different timeout setting may be the actual cause of the issue.
We would appreciate any guidance on this matter.