【问题标题】:Unable to publish subfolder under ".well-known" folder from GitHub Page无法从 GitHub 页面发布 \".well-known\" 文件夹下的子文件夹
【发布时间】:2022-10-25 13:23:20
【问题描述】:

尝试设置一个带有自定义域的 GitHub 页面,以完成证书生成(Let's Encrypt)的终极挑战。

我设法通过添加带有include: [".well-known"] 内容的_config.yml 文件来发布.well-known 文件夹。

但是,它不适用于.well-known/acme-challenge 的子目录,并且对这些配置没有运气include: [".well-known/acme-challenge", ".well-known", ".well-known/acme-challenge/index.html"]

测试命令:

  • curl -v http://exptests.com/.well-known/index.html << 作品
  • curl -v http://exptests.com/.well-known/acme-challenge/index.html << 不起作用

我的回购:https://github.com/blackjackyau/acme/tree/main/docs

【问题讨论】:

  • 尝试将一个空的.nojekyll 文件放到docs 目录中,这样您就不必与内置静态站点生成器 Jekyll 考虑或忽略的内容作斗争。
  • @BenjaminW。刚刚应用了更改,到目前为止看起来还没有工作
  • 该文件仍然存在,创建了一个拉取请求以将其删除:) 合并并重试。
  • @Christian 评论是要介绍一个 .nojekyll 文件,我做了(.nojekyll 文件首先不存在)
  • 您是否提到了这些挑战:letsencrypt.org/docs/challenge-types

标签: jekyll github-pages lets-encrypt acme


【解决方案1】:

分别尝试了3种方法

  • 包含在 _config.yaml 中
  • 固定链接 (commit)
  • .nojekyll.nojekyll + 包括

并且所有这些都显示出相同的症状,即只有 acme-challenge URL .well-known/acme-challenge/xx 不起作用(如果不是 acme-challenge,子目录将起作用)。

我将得出结论,GitHub 页面已保留或阻止 acme-challenge 路径/目录覆盖。有趣的是,这在去年的blog 中一直有效

更新:Github 页面正在使用 Lets Encrpyt 来管理自定义域 (doc) 的 SSL,这解释了为什么保留 acme-challenge 路径以防止覆盖

【讨论】:

    最近更新 更多