GitHub页面https / www重定向

pdo*_*926 10 dns github-pages namecheap

使用GitHub页面托管静态网站时,如何获取https://www.test.com重定向到https://test.com

我最近在我的DNS提供商(namecheap)上设置了A记录,从而为我的静态站点启用了TLS(由GitHub / Lets Encrypt提供)。我还选择了GitHub存储库设置中的“强制HTTPS”选项,该选项可处理从http://test.comhttps://test.com的重定向请求。我通过我的DNS提供程序配置了重定向,该重定向将http://www.test.com转发到https://test.com,但是这个难题的一个缺失部分是将https://www.test.com转发到https ://test.com

关于此问题,GitHub表示:“如果您的域启用了HTTPS强制实施,则GitHub Pages的服务器将不会自动路由重定向。您必须使用域注册商配置www子域和根域重定向。”

...并且我的DNS提供商说:“无法在帐户中设置URL重定向,以将TCP端口从http://www.domain.tld(使用端口80)转发到https:// www。 domain.tld(通过端口443工作)。”

我似乎陷入了两个服务的无限循环中,说另一个服务应该提供此功能。

Pau*_*aul 28

什么对我有用:

  • 将您的自定义域更改为以 为前缀www.,如下所示: 形式

  • 保存设置并等待 www.example.com 解析并工作。

  • 删除www.前缀并再次保存。

  • 等待浏览器和 DNS 缓存失效。

  • 所有组合都应指向https://example.com/,并且不应出现 SSL 错误。

  • 稍等一下。这是欺骗 github certbot 为 www 和裸域生成证书吗?但在有效期结束时,它很可能只会更新当前的裸域证书。 (7认同)
  • @SudarshanKadam 所以我的证书被重新更新,并且 www 前缀仍然有效。 (5认同)
  • 我完蛋了; 这有效。为了不让其他人误入歧途,我会在证书续订后接受您的回答,并且这将继续有效。你是怎么想到这一点的?您是否联系过 GitHub 或 LetsEncrypt 上的任何人来尝试弄清楚这里到底发生了什么? (3认同)
  • 我可以确认我的证书在上周的某个时间更新了。 (3认同)
  • 谢谢@Paul 的确认。 (2认同)

Hen*_*ody 6

www只要您正确配置 DNS 记录,GitHub Pages 就会自动处理顶级域和子域之间的重定向。

来自有关配置 apex 域的 GitHub Pages 文档:

如果您通过 DNS 提供商为每种域类型配置正确的记录,GitHub Pages 将自动在域之间创建重定向。例如,如果您配置为站点的自定义域,并且为 apex 和域www.example.com设置了 GitHub Pages DNS 记录,则将重定向到. 请注意,自动重定向仅适用于子域。wwwexample.comwww.example.comwww

虽然文档讨论从顶级域重定向到www子域,但相反的方向也有效。

如果顶点域是所需的目标(如本问题所示):将自定义域值设置为example.com.

如果www子域是所需的目标:将自定义域值设置为www.example.com

同样,只要为顶级域和www子域正确配置了 DNS 记录,此操作就有效,如文档中所述。

不是这个问题的重点,而是问题何时应该使用“www”子域?提供了一些关于使用www或不使用的很好的见解。