0

我的前端 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 实例上的请求标头看起来相同。

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

4

1 回答 1

0

它的耻辱 - 我发现了一些检查引荐来源的代码,并会根据它采取某些措施来允许/拒绝路由,并且 localhost 被绕过,因此它始终有效。所以这是一个错误。

因为我提供了赏金,所以我似乎无法结束这个问题,所以我正在回答它。感谢所有花时间研究此事的人。

于 2012-11-11T14:04:43.890 回答