GitHub 页面 https/www 重定向
Posted
技术标签:
【中文标题】GitHub 页面 https/www 重定向【英文标题】:GitHub Pages https/www Redirect 【发布时间】:2019-07-15 23:13:18 【问题描述】:使用 GitHub 页面托管静态网站时,如何让 https://www.test.com 重定向到 https://test.com?
我最近通过在我的 DNS 提供商 (namecheap) 处设置 A 记录为我的静态站点启用了 TLS(由 GitHub/Lets Encrypt 提供)。我还在我的 GitHub 存储库设置中选择了“强制 HTTPS”选项,该选项处理从 http://test.com 到 https://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) 。”
我似乎陷入了两个服务的无限循环,说另一个应该提供此功能。
【问题讨论】:
使用@ajzbc 的答案,但使用 certbot 重新获取您的证书,确保您同时拥有 test.com 和 www.test.com 作为域。 (-d test.com -d www.test.com
而不是-d test.com
)
感谢您的建议,@HewwoCraziness。如果我要这样做,我会每 90 天更新一次证书吗?到目前为止,GitHub 为我处理了这些问题。
看起来您可以在 GitHub 的设置下添加启用 HTTPS 的自定义域:ayesh.me/GitHub-HTTPS(如果这不起作用,是的,您可以退回到每 90 天手动更新和添加证书,或找到一种自动化的方法。)
【参考方案1】:
什么对我有用:
将您的自定义域更改为以www.
为前缀,如下所示:
保存设置并等待 www.example.com 解决并运行。
删除www.
前缀并再次保存。
等待浏览器和 DNS 缓存失效。
所有组合都应导致https://example.com/,并且不应出现 SSL 错误。
【讨论】:
等一下。这是在欺骗 github certbot 为 www 和裸域生成证书吗?但是在有效期结束时,它很可能只会更新当前的裸域证书。 @SudarshanKadam 所以我的证书被更新了,而且 www 前缀仍然有效。 感谢@Paul 的确认。 我该死;这行得通。为了不让别人误入歧途,我会在证书更新后接受你的回答,这将继续有效。你是怎么想出来的?你有没有联系过 GitHub 或 LetsEncrypt 上的任何人,试图弄清楚这里到底发生了什么? 我可以确认我的证书是在上周的某个时间更新的。以上是关于GitHub 页面 https/www 重定向的主要内容,如果未能解决你的问题,请参考以下文章
.htaccess 规则将图像文件的直接视图重定向到页面,图像作为查询字符串传递