【问题标题】:Cloud Front : The request could not be satisfiedCloudfront:无法满足请求
【发布时间】:2018-03-03 06:40:00
【问题描述】:

我遇到了这个问题,我有一个聊天服务器需要与托管在 aws 中的 lambda 服务进行通信,但是云前端会引发以下错误。

BODY: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: The request could not be satisfied</TITLE>
</HEAD><BODY>
<H1>ERROR</H1>
<H2>The request could not be satisfied.</H2>
<HR noshade size="1px">
Bad request.
<BR clear="all">
<HR noshade size="1px">
<PRE>
Generated by cloudfront (CloudFront)
Request ID: h5kPdVnMXwh-P7e7mxQ5LL1gj9fAupp_MNAPxmxufI74W4WhE_MByw==
</PRE>
<ADDRESS>
</ADDRESS>
</BODY></HTML>

这就是我的请求进入应用程序的方式。

const options = {
    hostname: 'xxx.uat.com',
    port : '443',        
    path: '/qa/addMessage',
    method: 'POST'
};
const req = http.request(options, (res) => {
}

聊天 server.js 托管在 ec2 中。这里有什么问题?

【问题讨论】:

  • http是什么对象?
  • const http = require('http');

标签: amazon-web-services amazon-ec2 amazon-cloudfront serverless-framework


【解决方案1】:

require('http');

这是一个 HTTP 客户端——不是 HTTPS 客户端。

指定端口 443 不会产生 HTTPS 请求,即使端口 443 是为 HTTPS 分配的端口。它只是针对目标端口 443 发出一个普通的 HTTP 请求。

这不是一个有效的做法,因此 CloudFront 返回一个 Bad Request 错误。

你几乎肯定想require('https');

【讨论】:

  • 是的,这就是答案
【解决方案2】:

我面临同样的错误,我通过从邮递员请求中删除正文解决了这个问题。

【讨论】:

  • 在使用 GET 请求时为我解决了这个问题
【解决方案3】:

我以前见过这个问题。它的发生是由于以下原因,

  1. 无效协议(使用 http 而不是 https)
  2. 未知的 http 动词,确保端点在您的案例中实现了 POST。如果您使用的是 API 网关,请确保您已部署它。

【讨论】:

  • 实现了 POST 方法
  • 我应该使用 https 吗?
【解决方案4】:

我遇到了同样的问题,this thread 为我工作。

这个错误信息:

“无法满足请求。错误请求。”

来自客户端,错误可能是由于以下原因之一:

  1. 请求通过 HTTP 发起,但 CloudFront 分配配置为仅允许 HTTPS 请求。
  2. 请求的备用域名 (CNAME) 未与 CloudFront 分配关联。

(就我而言,原因是 #2)。

【讨论】:

    【解决方案5】:

    对我来说,问题是,我重新启动了更改实例 ID 的 EC2,但我的云端源仍然指向以前的 ID。所以,一旦我改变了它,它就可以正常工作了。

    【讨论】:

      【解决方案6】:

      就我而言,我在调用 CloudFront 时有一个客户端负载均衡器。结果,我通过 IP 地址而不是主机名调用 CF。 我咨询了 Amazon AWS Support 团队,在这种情况下,CF 拒绝了请求并返回“403 错误,可以满足请求”。

      【讨论】:

        猜你喜欢
        • 2020-12-28
        • 1970-01-01
        • 1970-01-01
        • 2022-08-12
        • 1970-01-01
        • 2021-05-12
        • 2021-11-23
        • 2023-03-30
        • 1970-01-01
        相关资源
        最近更新 更多