403 错误 请求不能被满足

Posted

技术标签:

【中文标题】403 错误 请求不能被满足【英文标题】:403 ERROR The request could not be satisfied 【发布时间】:2020-09-24 17:36:31 【问题描述】:

我有一个带有单引号的网站,我无法浏览该网站,并且在同一域中很少有相同字符的网站被重定向,我可以打开该 URL。

l'Union-Européenne-Dans-l'Europe/xxxxx.html 从网址中删除单引号后,我可以浏览。

尝试浏览时的结果:403 ERROR 无法满足请求。 请求被阻止。我们目前无法连接到此应用或网站的服务器。可能有太多流量或配置错误。请稍后再试,或联系应用或网站所有者。 如果您通过 CloudFront 向客户提供内容,则可以通过查看 CloudFront 文档找到解决问题的步骤并帮助防止出现此错误。 由云端(CloudFront)生成 请求 ID:

注意:检查 clodfront 访问日志我可以找到错误代码为 403 的日志,除了 URI 结果 /l%27Union-Europ%25C3%25A9enne-Dans-l%27Europe/xxxxx.html 之外没有太多信息

【问题讨论】:

请提供更多详细信息,您是否有 WAF。起源是什么?可以访问源吗? 【参考方案1】:

检查您的 CloudFront 配置。出现这种情况的原因如下:

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

您也可以参考此链接来解决您的问题:https://aws.amazon.com/premiumsupport/knowledge-center/resolve-cloudfront-bad-request-error/

【讨论】:

这是对发生这种情况的一个很好的总结,并可能推断出解决方案。但是您能否编辑您的答案以总结 AWS 文档建议的步骤?虽然欢迎链接,但即使链接指向的页面在以后被删除或重命名,答案也应该保持相关——这种情况经常发生!通过总结这些步骤,您可以帮助确保您的答案对未来的读者仍然有用,同时让今天的读者无需点击进入另一个页面。 原因 #1 对我来说是个问题。快速解决方案:在CloudFront域前添加https:// 再次返回...这次我忘了更新 CNAME。谢谢 @radihuq,你能详细说明一下吗?您如何在云端域前面添加 https:// :)? 我没有在控制面板中向云端分发添加“备用域”。在执行此操作时,我还需要“请求证书”,然后将其附加到云端分发。 “一般” => “编辑”【参考方案2】:

在这里发布我的解决方案,因为这对我来说是一个艰巨的周末问题,而且解决方案并不那么明显。正如 Mani Ezhumalai 的回答所提到的,问题是需要备用 CNAME 记录。

就我而言,是www.example.comexample.com。 CloudFront 要求在备用域名列表中涵盖这两个域,这需要一个 AWS ACM SSL 证书来涵盖这两个域,以及在 DNS 中配置的适当 CNAME 记录。

【讨论】:

【参考方案3】:

我有同样的问题。是 WAF / 防火墙拒绝了该请求。尝试禁用它以进行验证。

【讨论】:

以上是关于403 错误 请求不能被满足的主要内容,如果未能解决你的问题,请参考以下文章

错误 403 禁止通过 ajax 请求服务器

http响应码

AWS Elastic BeansTalk Django cronjob 发布请求返回 403 错误

403 禁止响应 JSONP 请求

如何解决 "HTTP错误403-禁止访问 "问题

常见状态码