我在我们网站的某个页面上遇到504 gateway_timeout,当它在我们的生产网站的IIS中托管时。它在我的localhost,我们的测试站点和我们的生产服务器的localhost(通过localhost / link / abc访问)上工作正常
我已经没想到为什么会出现这种情况,下面是我的代码:
function GetTableData(date, period, offset, method) {
$(".load-bar").show();
updateTimeStampTabular(date, period, offset, "Try");
var link;
if (method != "aa" && method != "bb" && method != "cc")
{
link = "../Tabular/";
}
else {
link = "../Statistics/";
}
$.ajax({
url: link + method,
type: "GET",
timeout: 200000,
data: {
date: date,
period: period,
timezoneOffset: offset
},
success: function (data) {
$(".statistics .table-responsive").html(data);
var overallStatusText = $(".right-sidebar span.status");
},
error: function(xhr, textStatus, errorThrown) {
alert(xhr.status);
alert(textStatus);
alert(xhr.statusText);
if (globalVars.unloaded)
return;
}
});
}
我可以确认我的TabularController中存在一个带有“dd”的函数,它使用[HttpGet]注释。有什么想法在访问产品网址时会发生这种情况吗?其他方法通过相同的方式调用,它们工作正常,但Tabular / Getdd
上的此实例除外答案 0 :(得分:0)
显然,这与使用AWS设置的超时有关。 为解决此问题,我们调整了超时设置并增加了请求等待时间的限制。我的查询(连接2个非常大且繁忙的表)有时会在3分钟后产生结果,所以我们只是将限制增加到3分钟以上。
我注意到这是原因,因为如果我在测试网站上查看它并且没有问题,等待时间很长,问题只发生在使用网站证书的实时网站上。
如果我可以回到这个问题,我想我会重做查询并让它更快地工作(如果可能的话)