gpt4 book ai didi

amazon-web-services - AWS Cloudfront 重定向 TOO_MANY 次

转载 作者:行者123 更新时间:2023-12-04 08:02:27 24 4
gpt4 key购买 nike

我关注了Redirecting Internet Traffic to Another Domain and Redirecting HTTP Requests to HTTPS .

这是我的状态。

s3 : 3 个用于网络托管的存储桶

1)example.com(其中的index.html,有政策),

2) www.example.com(用于请求重定向,无策略,重定向到example.com)

3)bucket-for-redirection(对于云端,无策略,重定向到example.com,https协议(protocol))

云端 :1个云前

  • CNAME:example.com、www.example.com
  • 源域名和路径:bucket-for-redirection.s3-website.ap-northeast-2.amazonaws.com
  • 来源 ID:S3-Website-bucket-for-redirection.s3-website.ap-northeast-2.amazonaws.com

  • 53路
    类型 A 用于 2 个域

    1) example.com:别名目标是 CloudFront

    2)www.example.com:别名目标是s3

    但我的网站返回 ERR_TOO_MANY_REDIRECTS。有什么我想念的吗?

    解决方案
  • 我删除了除一个(bucket-for-redirection)之外的所有存储桶。
  • 将资源(例如 index.html)放在那里。
  • 创建存储桶策略。
    {
    "Version": "2012-10-17",
    "Statement": [
    {
    "Sid": "AddPerm",
    "Effect": "Allow",
    "Principal": "*",
    "Action": "s3:GetObject",
    "Resource": "arn:aws:s3:::your-bucket-name/*"
    }
    ]

    }
  • 然后,使用“Static Web Hosting”设置其属性,选择第一个选项,然后键入“index.html”或其他。
  • 确保 Alias 的目标是 Route 53 中的 CloudFront。

  • (如果你是韩国人,请引用 my blog。)

    最佳答案

    此问题是由太多重定向引起的。这意味着用户将转到一个 URL,然后将用户发送到另一个 URL,然后发送到另一个 URL,... Web 浏览器检测到多个重定向并向用户显示错误。否则,用户可能会进入一个循环,不断地从一个 URL 移动到另一个 URL,并且永远不会显示所需的网页。

    您的问题中没有足够的信息说明您如何配置 S3 和 CloudFront,因此我将解释如何确定确切的问题。

    要调试此问题,请使用 curl .

    假设您的目标是所有用户访问 https://www.example.com .现在验证此 url 不会重定向。注意:一些网络服务器会将 DNS 名称重定向到 DNS 名称 + 主页 url。如果是这种情况,请使用主页 url(第二个命令)进行测试。

    curl -i https://www.example.com > data.txt

    或(替换为您的主页网址):
    curl -i https://www.example.com/index.html > data.txt

    现在打开文件 data.txt在编辑器中。第一行应该是 HTTP/1.1 200HTTP/2 200 .关键是 200(200 到 299 之间的任何值)。如果数字是 301(永久移动)或 307(临时重定向),那么您正在重定向用户。请参阅下面的示例。这很可能是问题所在。关键是要弄清楚为什么你想要的 DNS 名称被重定向以及它被重定向到什么。然后找到重定向错误的配置文件/服务。

    如果前面的命令运行正确,则测试其他支持的 DNS 名称,看看它们是否正确重定向到您想要的 DNS 名称 ( https://www.example.com)。一个常见的问题是重定向会转到错误的所需页面,然后来回循环重定向。

    您的目标是网络服务器返回以下内容(包括 HTTP header 和 HTML 正文)。重要的项目是状态码(301 或 307)和重定向 location (下面的第 5 行)。重定向时忽略 HTML 正文。

    除所需 DNS 名称外的所有内容的正确重定向示例:
    HTTP/2 301
    date: Fri, 08 Mar 2019 04:17:18 GMT
    server: Apache
    x-frame-options: SAMEORIGIN
    location: https://www.example.com/
    content-length: 232
    content-type: text/html; charset=iso-8859-1
    via: 1.1 google
    alt-svc: quic=":443"; ma=2592000; v="46,44,43,39"

    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>301 Moved Permanently</title>
    </head><body>
    <h1>Moved Permanently</h1>
    <p>The document has moved <a href="https://www.example.com/">here</a>.</p>
    </body></html>

    使用 curl 并测试所有支持的可能性:
    curl -i http://www.example.com

    这应该重定向到 https://www.example.com
    curl -i http://example.com

    这应该重定向到 https://www.examle.com
    curl -i https://example.com

    这应该重定向到 https://www.examle.com
    使用您的主页 url 和一些子页面重复上述测试。

    即使在正确运行的网站上,我也看到的一个常见问题是用户被多次重定向。正确设计的重定向应该一步将用户发送到正确的位置,而不是多个步骤。多个重定向会减慢访问正确页面的速度。

    关于amazon-web-services - AWS Cloudfront 重定向 TOO_MANY 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55055658/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com