Ssl Gitlab页面和Jekyll-设置TLS的问题
我尝试在静态网站上添加SSL/TLS。我使用Gitlab静态页面,而Jekyll用于内容。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
我按照此说明设置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的东西