当前位置:   article > 正文

gitlab生成证书支持HTTPS方式_gitlab生成新的证书

gitlab生成新的证书

我前面写过一遍类似的文章https://blog.csdn.net/zhuwei_clark/article/details/90445601​​​​​​​

但是这种方式设置之后再使用的过程中会遇到一些问题,所以重新纠正下,安装过程没什么变化。

  1. yum -y install policycoreutils openssh-server openssh-clients postfix
  2. wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.4.3-ce.0.el7.x86_64.rpm
  3. yum install policycoreutils-python
  4. rpm -i gitlab-ce-11.4.3-ce.0.el7.x86_64.rpm

 证书生成:

1. 创建 Private Key,这里需要输入密码,记住下密码,在下面需要用到

openssl genrsa -des3 -out /etc/gitlab/ssl/git.zhubanxian.com.key 2048

2. 生成 Certificate Request

openssl req -new -key /etc/gitlab/ssl/git.zhubanxian.com.key -out /etc/gitlab/ssl/git.zhubanxian.com.csr

输入一些信息

  1. Country Name (2 letter code) [XX]:CN
  2. State or Province Name (full name) []:clark
  3. Locality Name (eg, city) [Default City]:beijing
  4. Organization Name (eg, company) [Default Company Ltd]:zhubanxian
  5. Organizational Unit Name (eg, section) []:zhubanxian
  6. Common Name (eg, your name or your server's hostname) []:zhubanxian
  7. Email Address []:zhuwei680913@163.com
  8. Please enter the following 'extra' attributes
  9. to be sent with your certificate request
  10. A challenge password []:123456789
  11. An optional company name []:zhubanxian

上面2条命令可以进行合并

openssl req -nodes -newkey rsa:2048 -keyout git.zhubanxian.com.key -out git.zhubanxian.com.csr

3. 移除Private Key 中的密码短语

  1. cp -v /etc/gitlab/ssl/git.zhubanxian.com.{key,original}
  2. openssl rsa -in /etc/gitlab/ssl/git.zhubanxian.com.original -out /etc/gitlab/ssl/git.zhubanxian.com.key
  3. rm -v /etc/gitlab/ssl/git.zhubanxian.com.original

4. 创建证书

openssl x509 -req -days 1460 -in /etc/gitlab/ssl/git.zhubanxian.com.csr -signkey /etc/gitlab/ssl/git.zhubanxian.com.key -out /etc/gitlab/ssl/git.zhubanxian.com.crt

5. 移除证书请求文件

rm -v /etc/gitlab/ssl/git.zhubanxian.com.csr 

6. 设置文件权限

chmod 600 /etc/gitlab/ssl/git.zhubanxian.com.*

gitlab 配置更改

vim /etc/gitlab/gitlab.rb
  1. external_url 'https://git.zhubanxian.com'
  2. nginx['redirect_http_to_https'] = true
  3. nginx['ssl_certificate']= "/etc/gitlab/ssl/git.zhubanxian.com.crt"
  4. nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/git.zhubanxian.com.key"

重新加载配置文件

gitlab-ctl reconfigure

外部NGINX配置修改

  1. upstream git{
  2. server 172.17.4.179:443 weight=1;
  3. }
  4. server {
  5. listen 443;
  6. server_name git.zhubanxian.com;
  7. ssl on;
  8. ssl_certificate /etc/nginx/vhosts/git/2220513_git.zhubanxian.com.pem;
  9. ssl_certificate_key /etc/nginx/vhosts/git/2220513_git.zhubanxian.com.key;
  10. location ~ ^/(.*){
  11. #注意这里使用https
  12. proxy_pass https://git;
  13. proxy_set_header REMOTE_ADDR $remote_addr;
  14. proxy_set_header Host $http_host;
  15. proxy_http_version 1.1;
  16. proxy_set_header Connection "";
  17. proxy_set_header Upgrade $http_upgrade;
  18. proxy_set_header Connection "upgrade";
  19. }
  20. }
  21. server {
  22. listen 80;
  23. server_name git.zhubanxian.com;
  24. location ^~ /.well-known/acme-challenge/ {
  25. alias /data/sites/challenges/;
  26. try_files $uri = 404;
  27. }
  28. location / {
  29. rewrite ^/(.*)$ https://$host/$1 permanent;
  30. }
  31. }

 

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/208052
推荐阅读
相关标签
  

闽ICP备14008679号