Ssl Gitlab页面和Jekyll-设置TLS的问题

Ssl Gitlab页面和Jekyll-设置TLS的问题,ssl,jekyll,gitlab,gitlab-ci,lets-encrypt,Ssl,Jekyll,Gitlab,Gitlab Ci,Lets Encrypt,我尝试在静态网站上添加SSL/TLS。我使用Gitlab静态页面,而Jekyll用于内容。 我按照此说明设置TLS- 我对这一部分很感兴趣-我从Gitlab页面中得到了404错误 构建完成后,再次测试是否一切正常: # Note that we're using the actual domain, not localhost anymore $ curl http://YOURDOMAIN.org/.well-known/acme-challenge/5TBu788fW0tQ5EOwZMdu1

我尝试在静态网站上添加SSL/TLS。我使用Gitlab静态页面,而Jekyll用于内容。
我按照此说明设置TLS-

我对这一部分很感兴趣-我从Gitlab页面中得到了404错误

构建完成后,再次测试是否一切正常:

# Note that we're using the actual domain, not localhost anymore
$ curl http://YOURDOMAIN.org/.well-known/acme-challenge/5TBu788fW0tQ5EOwZMdu1Gv3e9C33gxjV58hVtWTbDM
问题是下一个 我使用命令
/letsencrypt auto certonly-a manual-d example.com

我在根目录中创建了带有适当内容的自定义页面
letsencrypt setup.html

我运行了
jekyll build
命令,它创建了
\u site/。著名的/acme challenge/5tbu788fw0tq5eowzmdu1gv3e9c33gxv58hvtwtbdm.html
页面。
当我运行
curl
命令到此页面时,它使用和不使用
.html
扩展名-这两个命令都有效,并返回适当的值

curl http://localhost:4000/.well-known/acme-challenge/5TBu788fW0tQ5EOwZMdu1Gv3e9C33gxjV58hVtWTbDM
curl http://localhost:4000/.well-known/acme-challenge/5TBu788fW0tQ5EOwZMdu1Gv3e9C33gxjV58hVtWTbDM.html
当我在构建和部署之后提交更改并推送到Gitlab时,我只能使用第二个命令获取适当的内容

curl http://example.com/.well-known/acme-challenge/5TBu788fW0tQ5EOwZMdu1Gv3e9C33gxjV58hVtWTbDM.html
当我跑的时候

curl http://example.com/.well-known/acme-challenge/5TBu788fW0tQ5EOwZMdu1Gv3e9C33gxjV58hVtWTbDM
我有404错误

如果我在
/letsencrypte
脚本中按continue,我也会得到404错误。此工具尝试使用不带
.html
扩展名的URL

我阅读了教程中的评论,并尝试了这一点,但它不适合我


我不知道下一步该尝试什么-我对Jekyll/SSL没有太多经验,我所做的是在gitlab上完成构建后复制了挑战文件,因为我不知道如何让Jekyll省略文件扩展名

my.gitlab-ci.yml文件

image: ruby:2.3

pages:
  script:
  - gem install jekyll
  - jekyll build -d public
  # Use this when creating a new letsencrypt cert, this since jekyll adds .html to the file and letsencrypd does not expect a .html extension
  - cp ./public/.well-known/acme-challenge/HASHFILE-FROM-LETSENCRYPT.html ./public/.well-known/acme-challenge/HASHFILE-FROM-LETSENCRYPT
  artifacts:
    paths:
    - public
  only:
  - master
另一种解决方案(as)是在永久对齐线的末尾添加一条斜线:

permalink: /.well-known/acme-challenge/5TBu788fW0tQ5EOwZMdu1Gv3e9C33gxjV58hVtWTbDM/

通过这种方式,访问YOURDOMAIN.org/.well-known/acme challenge/。。。将重定向到YOURDOMAIN.org/.well/acme challenge/../(请注意额外的斜杠),其中包含正确的数据。它对我来说完美无瑕,当我切换到另一个域时,我不需要更新.gitlab-ci.yml。

添加额外的斜杠对我来说不起作用。我必须添加'/index.html'

permalink:/.well-known/acme challenge/${challenge}/index.html


我尝试使用symlink(
ln-s
),但不起作用。复制有效。它并没有完全回答这个问题,但我通过使用DNS质询而不是http质询解决了这个问题:
/letsencrypt auto certonly-一个手动的-d mydomain.com-首选质询DNS
,它使我避免了试图弄明白gitlab的东西