我们增加了管理员用户通过门户更改服务器日期和时间的能力。将日期和时间向后更改工作正常,但向前更改(超过 fastcgi_read_timeout)返回“504 网关超时”,即使服务器时间在后台成功更改。
请指教如何处理?
谢谢。
我在另一个项目中遇到了非常相似的问题。也许最好通过 JavaScript AJAX 请求通过门户异步提交日期和时间凭据(我假设您将使用 NTP 服务器 IP 来执行此操作)。然后,让服务器处理日期和时间。
同时,让客户端 JavaScript,以间隔 AJAX 请求(可能每 5 秒)不断探测服务器,以在服务器时间返回响应消息。这样,每个后续的 AJAX 请求都会启动一个新的 Nginx 会话,如果第一次失败/超时,则尝试第二次,如果失败,则尝试第三次,依此类推。
这适用于我们的系统。但是,我不知道您的产品是否具有登录/身份验证凭据。如果是这样,则用户可能必须在所有设置和完成后重新登录,因为时间更改也可能使他们的登录会话到期。我不认为这有什么大不了的,因为理论上他们应该只需要偶尔更改一次日期/时间,如果不仅仅是一次的话。所以它不应该对用户体验产生太大影响。
标签: Nginx, NTP, 超时, 504