当我偶然发现let's加密时,我开始查看ssl证书,我想将其与gitlab一起使用,但是由于它在树莓pi 2上运行,并且现在运行得非常完美(所以我不想搞砸任何事情),他会让我正确安装let加密ssl证书吗?PS:我的安装是综合的。
我不知道树莓派上的安装是否不同。让我们加密安装过程做一些我不知道的魔术。
键入grep“external_url”/etc/gitlab/gitlab。rb
检查网站名称。作为一个例子https://gitlab.example.com:50000
如果您的外部网址不以 https
开头,请将其更改为以 https 开头
粗体部分将是您的
按照此链接上的“让我们加密”安装说明进行操作:https://letsencrypt.org/howitworks/
我没有复制说明,因为它们可能会更改(因为该程序现在处于开放测试阶段)。您必须运行的内容取决于您是否还有在Apache上运行的网站,您想要为其生成“让我们加密证书”。
一旦您生成了“让我们加密”证书,它们就位于
/etc/letsencrypt/live/
吉特实验室需要两个文件位于
/etc/gitlab/ssl/
有些事情我不确定,您可能需要使用此位置的答案转换.pem证书:将.pem转换为.crt并.key
从
/etc/letsencrypt/live复制证书/
从
/etc/letscrypt/live/复制私钥
运行gitlab-ctl重新配置
匿名用户
根据您的基础架构设置,有2种方法(Raspi、大型云服务器或介于两者之间的东西):
>
如果您有一个外部可访问的服务器(意味着您的Gitlab主机可以从Let’s Encrypt服务器调用,Let’s Encrypt's自动机制需要该服务器来验证您“拥有”某个域,如Gitlab.yoursite.com
和相应的DNS解析服务器/主机),唯一需要的事情(从Gitlab 10.7版开始)是在您的/etc/Gitlab/Gitlab中的Gitlab URL配置。rb
(正如marcolz已经提到的):
external_url'https://gitlab.yoursite.com'
从 https://docs.gitlab.com/omnibus/settings/ssl.html#let-39-s-encrypt-integration 中的文档:
Omnibus-gitlab可以从Let's Encrypt为您自动获取和更新证书。
如果您的Gitlab主机无法通过“让我们加密”服务器进行外部访问,则整个过程将更加困难!然后,您将离开让Gitlab综合总线为您完成繁重工作的良好自动方式。您现在肯定需要自己获取“让我们加密”证书!有一些方法可以获取Let's加密证书,而无需外部可访问的服务器。
我选择并推荐的方法是使用替代方法Let s Encrypt client dehydrated和dns-lexicon来完全自动化获取证书的过程,以及Let s Encrypt < code > DNS-challenge ,这是在2016年推出的。这是唯一的方法,在这种情况下,您不需要外部可访问的服务器,但您仍然需要“拥有”某个域,如< code>gitlab.yoursite.com,并且您需要对托管您的域的DNS提供商进行API访问(在这种情况下,这里列出了受支持的DNS提供商)。
由于整个过程相当复杂,我创建了一个完全可理解的剧本prepare-gitlab.yml,其中gitlab安装Omnibus的每一步都是为您处理的(完整的GitHub源代码可从这里获得:https://GitHub . com/Jonas hackt/git lab-ci-stack)。
如果您只想创建Let's Encrypt证书,请查看obtain-letsencrypt-certs-dehydrated-lexicon.yml-即使您不想使用Anable,您也可以手动复制控制台上的每一步,或者使用其他自动化工具,如Chef或Saltack(尽管我个人不推荐这样做)。另一种方法是查看词典人员的这篇很棒的博客文章:https://blog.thesparktree.com/generating-intranet-and-private-network-ssl,从那些描述的步骤中,我基本上是从这些步骤中开发剧本的。
无论您选择哪种方式,都不要忘记复制手动(或自动)获取的Let’s Encrypt证书
/srv/脱水/certs/{gitlab_domain}}/fullchain.pem
到
/etc/gitlab/ssl/{{gitlab_domain}}. crt
和
/srv/脱水/certs/{{gitlab_domain}}/privkey.pem
到
< code >/etc/git lab/SSL/{ { git lab _ domain } }键
Gitlab会从那里自动为你获取它们,正如文档中所说的手动配置HTTPS
到目前为止,我能找到的最好的解决方案在这篇博客文章中有所描述。我不会背诵所有内容,但要点是:
>
webroot
验证器/var/www/letsencrypt
,并将此目录用作Let’s Encrypt的webroot路径
在
/etc/gitlab/gitlab中更改以下配置值。rb
,然后运行gitlab ctl reconfigure
:
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate']= "/etc/letsencrypt/live/gitlab.yourdomain.com/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.yourdomain.com/privkey.pem"
nginx['custom_gitlab_server_config']="location ^~ /.well-known {\n alias /var/www/letsencrypt/.well-known;\n}\n"
如果您使用的是与Omnibus软件包一起提供的Mattermost,则可以在
/etc/gitlab/gitlab.rb中额外设置这些选项:
mattermost_nginx['redirect_http_to_https'] = true
mattermost_nginx['ssl_certificate']= "/etc/letsencrypt/live/gitlab.yourdomain.com/fullchain.pem"
mattermost_nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.yourdomain.com/privkey.pem"
mattermost_nginx['custom_gitlab_mattermost_server_config']="location ^~ /.well-known {\n alias /var/www/letsencrypt/.well-known;\n}\n"
请求第一个证书后,请记住将
external_url
更改为 https://...
,然后再次运行gitlab-ctl重新配置
这种方法非常优雅,因为它只是通过自定义Nginx配置将Let's Encrypt身份验证器使用的目录
/var/www/letscrypt/. well
挂载到Gitlab web-root中,并且在Gitlab运行时始终可以进行身份验证。这意味着您可以自动更新Let's Encrypt证书。
我有一个ASP.NET MVC应用程序。我试图使用Gitlab和Cake.net实现CI和CD。 Build.Cake build.ps1(类似.NET默认文件)
我在CentOs上的上设置了一个新的Gitlab,并在continuous-delivery组下创建了一个新的存储库。完整路径为。此路径下只有一个文件,即readme.txt。 我试图实现的是当有人将更改推送到服务器时创建一个新文件。下面是我在服务器上做的事情: 在echo“text”>>file_name`创建一个新文件 chmod它们为775。 当我将更改从本地推送到服务器时,不会创建任何文件
不久前,我能够使用与。我目前正在使用一家公司,我不想添加到gitlab的ssh键,所以我试图使用https来拉和推gitlab.com但似乎我一直得到500个错误。 我记得我必须为此添加一些令牌,但我不记得如何在gitlab中使用https,而且似乎没有相关文档。
问题内容: 情况: 服务器-答:我们在容器中运行Gitlab。 服务器B:我们有Kubernetes。 Gitlab使用Kubernetes运行程序。然后,我们的一些项目使用带有Git和Maven的docker容器构建应用程序。 Maven总是必须将各种东西下载到它的/root/.m2缓存中。我需要做的是创建一个可以供这些作业使用的持久卷,因此,一旦下载了该卷,就不必在每次有人要构建或测试某些东西
1. 介绍 在以前的一篇文章我们介绍过如何用docker来部署gitlab应用:使用 compose 部署 GitLab 应用 (八) 还有一篇文章是介绍用acme.sh给网站加上https的:使用 acme.sh 安装 Let’ s Encrypt 提供的免费 SSL 证书 现在这篇文章来结合之前的两篇文章的内容,给gitlab网站加上https应用的。 2. 申请证书 第一步是申请证书: $
主要内容:Git命令Git命令用于与其他开发人员轻松共享和组合代码。 Git命令 以下是一些基本Git命令: 可以使用以下命令来检查Git的版本: 在提交信息时添加Git用户名和电子邮件地址以标识作者。 使用以下命令设置用户名: 输入用户名后,使用以下命令验证输入的用户名: 接下来,使用以下命令设置电子邮件地址: 可以验证输入的电子邮件地址: 使用以下命令检查输入的信息: 可以使用以下命令来获取对主分支所做的最新更改