我是AWS和route 53的新手,所以如果有任何帮助,我将非常感激。
我在GitHub上创建了一个组织,然后为一个静态站点创建了一个简单的存储库,以便与Github页面一起显示。这就像预期的那样工作,我可以在Github生成的网址上看到静态站点(类似于:https://<githubOrgName>.github.io/<repoName>/
)
我从AWS获得了一个域名,现在我正在尝试设置它,以便顶端域名(例如"my-domain.com")指向Github pages站点。
我按照下面的说明操作: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 route 53配置类似于以下配置(我已尝试删除敏感详细信息):
有人能给我解释一下我哪里做错了吗?我是一个新的域名工作,所以任何帮助都是感激的。
发布于 2021-11-21 06:55:15
单独使用Route53不会对您有所帮助,因为您的目标URL包含一个URL路径,即/<repoName>/
。
HTTP是一个名称解析系统,对
一无所知
此外,源服务器(github.io
)可能正在运行反向代理,该代理可能正在解析请求标头,其中包括Host
标头。您的浏览器会自动将此标题设置为您提供给它的url。最后,你给它发送了错误的头(即https://my-domain.com/),Github无法处理。你可以显式地设置这个头(例如通过curl
)到Github期望的位置,但是我相信这不是你和你的用户想要的。
相反,您可以尝试在Lambda@Edge
(由亚马逊网络服务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
区域中的亚马逊网络服务证书管理器创建一个免费的TLS证书,并将其附加到您的CloudFront分发中。但这是可选的。
Lambda@Edge
将提供低延迟,因为您的重定向将从全球各地的云前端边缘位置提供服务。
https://stackoverflow.com/questions/70049275
复制相似问题