Heroku为AJAX请求发回HTTP状态444-为什么?

Heroku为AJAX请求发回HTTP状态444-为什么?,ajax,jquery,post,heroku,nginx,Ajax,Jquery,Post,Heroku,Nginx,我的前端web应用程序使用jQuery的AJAX函数($.AJAX,$.getJSON,$.post)通过GET和post请求调用后端数据API。在浏览器控制台和Heroku应用程序的日志中,我可以看到呼叫被拒绝,HTTP状态为444,这是Nginx自定义状态: 在Nginx日志中使用,表示服务器未向客户端返回任何信息并关闭连接(对恶意软件起到威慑作用) (虽然这并不一定意味着他们正在运行Nginx,也不一定是因为Nginx) 有人知道为什么会发生这种情况,或者我如何补救?这些电话一点也不奇怪—

我的前端web应用程序使用jQuery的AJAX函数(
$.AJAX
$.getJSON
$.post
)通过GET和post请求调用后端数据API。在浏览器控制台和Heroku应用程序的日志中,我可以看到呼叫被拒绝,HTTP状态为444,这是Nginx自定义状态:

在Nginx日志中使用,表示服务器未向客户端返回任何信息并关闭连接(对恶意软件起到威慑作用)

(虽然这并不一定意味着他们正在运行Nginx,也不一定是因为Nginx)

有人知道为什么会发生这种情况,或者我如何补救?这些电话一点也不奇怪——下面是一个咖啡脚本示例:

jQuery ($) ->

  tbody = $("table#top_five_table > tbody")

  $.ajaxSetup(
    dataType: "json"
  )

  $.getJSON url, (data, status, xhr) => [
    tbody.empty().html( data_munging(data) )
  ]
一切都在本地运行,但显然我并没有使用Nginx代理运行它(我假设Heroku是这样)。本地和Heroku实例上的请求头看起来完全相同


任何帮助或见解都将不胜感激。

可耻的是,我发现一些代码可以检查推荐人,并根据这一点采取某些操作来允许/拒绝路由,而localhost被绕过,因此它总是工作的。所以这是一个错误


因为我提供了一笔赏金,所以我似乎无法回答这个问题,所以我来回答。感谢所有花时间研究这一问题的人。

直接问Heroku可能是个好问题。我只是问了,但如果在座的人都能回答,我很乐意分享财富。后端API是什么样的应用程序?轨道?其他?@pjam前端和后端都是Sinatra。我曾尝试通过curl调用后端(`curl-H“Accept:application/json”-X GET“MY_HIGHLY_SECRET_URL”;),但也没有成功,日志中有相同的444。好的,我只是尝试了对后端上剩余的非json路由之一的curl请求,它也得到了444,所以这不仅仅是jQuery(是的,我知道,我应该先试试……:/)