【问题标题】:AWS Route 53 Domain Point To Github PagesAWS Route 53 域指向 Github 页面
【发布时间】:2021-12-31 01:55:10
【问题描述】:

我是使用 AWS 和 route 53 的新手,因此感谢您提供任何帮助。

我在 GitHub 上创建了一个组织,然后为静态站点创建了一个简单的存储库,以便与 Github 页面一起显示。这按预期工作,我可以在 Github 生成的 URL 上看到静态站点(类似于:https://<githubOrgName>.github.io/<repoName>/

我从 AWS 获得了一个域,现在我正在尝试设置它,以便顶级域(例如“my-domain.com”)指向 Github 页面站点。

我按照以下位置的说明进行操作:https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site/about-custom-domains-and-github-pages ...但它似乎不起作用。

我正在尝试使顶点域指向存储库 Github 页面。类似:

https://my-domain.com -> https://<githubOrgName>.github.io/<repoName>/

...但这仅在我转到根域(“my-domain.com”)时显示空白屏幕。我也试过去https://my-domain.com/<repoName>/...但这向我展示了一个Github 404页面(所以它似乎正确地将某些东西转发到Github):

我的 AWS 路由 53 配置类似于以下内容(我已尝试删除敏感细节):

谁能向我解释我做错了什么?我是使用域的新手,因此不胜感激。

【问题讨论】:

    标签: amazon-web-services github-pages amazon-route53


    【解决方案1】:

    单独使用 Route53 对你没有帮助,因为你的目标 URL 包含一个 URL 路径,即/<repoName>/

    DNS 是一个名称解析系统,对 HTTP 一无所知

    此外,源服务器 (github.io) 可能正在运行可能正在解析请求标头的反向代理,其中包括 Host 标头。您的浏览器会自动将此标头设置为您提供给它的 url。最终,您向其发送了错误的标头(即https://my-domain.com/),Github 无法处理。您可以将此标头(例如通过curl)显式设置为 Github 所期望的,但我相信这不是您和您的用户想要的。

    相反,您可以尝试在 Lambda@Edge(由 AWS CloudFront 提供)的帮助下使用第 7 层重定向 (301/302)。我使用无服务器框架创建了一个简单的solution,它执行以下重定向:

    https://maslick.tech     ->  https://github.com/maslick
    https://maslick.tech/cv  ->  https://www.linkedin.com/in/maslick/
    https://maslick.tech/qa  ->  https://stackoverflow.com/users/2996867/maslick
    https://maslick.tech/ig  ->  https://www.instagram.com/maslick/
    

    但是你可以根据自己的需要通过调整handler.js来自定义。您可能还需要在 us-east-1 区域中使用 AWS Certificate Manager 创建一个免费的 TLS 证书,并将其附加到您的 CloudFront 分配中。但这是可选的。

    Lambda@Edge 将提供低延迟,因为您的重定向将从 CloudFront 的全球边缘站点提供。

    【讨论】:

      猜你喜欢
      • 2014-08-12
      • 2017-04-27
      • 1970-01-01
      • 2014-11-18
      • 2016-07-18
      • 2020-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多