Jesse's home


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

gitlab自带nginx更新SSL证书

发表于 2018-10-15 | 分类于 Linux-Basic , SSL |

gitlab自带nginx更新SSL证书

背景

由于letsencrypt证书有效期太短.gitlab不是很方便自动续约.所以在阿里云上购买证书,然后下载到到服务器.(由于gitlab底层是基于nginx,所以下载证书也是选择Nginx格式)


找出gitlab证书存放位置:

1.在gitlab配置文件下

1
2
3
root@gitlab:~# cd /etc/gitlab
root@gitlab:/etc/gitlab# ls
gitlab.rb gitlab.rb.bak gitlab.rb.bak2 gitlab-secrets.json trusted-certs

2.打开gitlab.rb配置文件

1
2
3
4
5
root@gitlab:/etc/gitlab# vim gitlab.rb

#可以找到下列两行配置.这个就是gitlab的ssl证书存放路径
nginx['ssl_certificate'] = "/etc/ssl/private/gitlab.pem"
nginx['ssl_certificate_key'] = "/etc/ssl/private/gitlab.key"

在gitlab的nginx配置文件下也可以找到相关配置

1
2
3
4
5
6
7
8
9
root@gitlab:/etc/gitlab# cd /var/opt/gitlab/nginx/conf/
root@gitlab:/var/opt/gitlab/nginx/conf# ls
gitlab-http.conf gitlab-http.conf.bak nginx.conf nginx-status.conf

#在gitlab-http.conf的nginx配置文件中也定义了ssl路径:

root@gitlab:/var/opt/gitlab/nginx/conf# cat gitlab-http.conf | grep ssl_certificate
ssl_certificate /etc/ssl/private/gitlab.pem;
ssl_certificate_key /etc/ssl/private/gitlab.key;

3.将阿里云下载下来的证书上传到gitlab的/etc/ssl/private目录中

阅读全文 »

letsencrypt证书上传到阿里云SLB负载均衡

发表于 2018-10-15 | 分类于 Linux-Basic , SSL |

letsencrypt证书上传到阿里云SLB负载均衡

简介

最近在阿里云开通了一个SLB负载均衡实例,然后把ECS上申请的免费的letsencrypt证书上传到SLB下.

按照简书上的这个流程: letsencrypt证书上传到阿里云SLB

但是出现了一个奇怪的现象.浏览器,PC,IOS等设备Https访问均正常,但是所有的安卓设备微信扫码小程序登陆却提示证书错误:err:request:fail ssl hand shake error

阅读全文 »

使用acme.sh申请https证书

发表于 2018-10-15 | 分类于 Linux-Basic , SSL |

使用acme.sh申请https证书

介绍

acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书.

acme是一个shell脚本。安装使用都很方便。不依赖于python或官方的Let’s Encrypt客户端。
只需一个脚本即可自动颁发,续订和安装证书。 不需要root/sudoer访问权限。

acme的github项目有详细的中文文档:acme.sh


对比certbot工具

还有另外一个工具certbot-auto也可以申请letsencrypt免费证书。

certbot工具需要安装一大堆系统库以及 Python 库,Python 的 pip 在国内还会有墙的问题…而且每次certbot工具自动更新版本的时候都会面临pip被墙的风险。所以很难使用。

当然,acme.sh相比certbot更强大的地方还在于:

1.acme支持dns认证方式

2.acme带有自动更新dns记录,验证dns的脚本(需要dns服务商的api token)

3.支持通配符证书的申请

4.acme安装后就自动写入crontab记录,意味着只要证书申请后就自动更新,完全不需操心

阅读全文 »

letsencrypt配置通配符域名证书

发表于 2018-10-15 | 分类于 Linux-Basic , SSL |

letsencrypt配置通配符域名证书

介绍

在今年稍早些的时候,letsencrypt终于开始免费支持通配符域名证书了.但是只支持一个层级的通配主机域名.

比如我曾经踩过的坑:*.dev.xxx.com通配符域名证书并不能支持api.v3.dev.xxx.com这种三层子域名.

如果需要为api.v3.dev.xxx.com申请通配符证书,则还需要申请*.v3.dev.xxx.com通配符证书

阅读全文 »

Ansible部署nginx实战

发表于 2018-08-30 | 分类于 Ansible |

Ansible 部署Nginx项目的playbook实践

工作中经常需要搭建项目的业务环境.需要部署同一套nginx站点业务在联调,测试,预发布,生产等各种不同环境的服务器上.这些工作主要包括两个部分:创建web资源目录,nginx站点配置.

下面来看看如何使用playbook来自动化部署项目到不同环境的多台服务器上:

阅读全文 »

Ansible 条件选择

发表于 2018-08-29 | 分类于 Ansible |

Ansible 条件选择

playbook也可以像shell脚本的if语句那样,基于一个变量的结果来判断是否应该执行某个task.只是ansible的逻辑判断和语法上要别扭,复杂点.

阅读全文 »

ansible--loop循环

发表于 2018-08-28 | 分类于 Ansible |

ansible–loop循环

标准循环

  • 下面是一个简单的标准loop循环的例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
[root@localhost playbook]$vim loop-useradd.yaml

---
- hosts: all
tasks:
- name: add several users
user:
name: "{{ item }}"
state: present
groups: "wheel"
loop:
- testuser1
- testuser2
阅读全文 »

Ansible-Roles

发表于 2018-08-27 | 分类于 Ansible |

Ansible-Roles

对于中小型项目来说playbook结合include就足以胜任,清晰,有效的完成自动化部署工作了.但是如果是对于大型的项目,几十个playbook来说,可能会造成文件繁多,目录结构不清晰,命名不规范,以及后期维护成本大大升高.

ansible的roles功能就是为了解决这个问题应运而生.roles字面意思是”角色”,可以理解为各个不同模块功能的关联集合.roles主要包括以下功能模块:var_files,tasks,handlers,templates,files,等等

但是需要注意的是,为了规范和维护期间.roles应该定义一个清晰,明确的目录结构以及文件名.不可随意更改.

阅读全文 »

Ansible-Playbook

发表于 2018-08-26 | 分类于 Ansible |

Ansible的Playbook介绍以及技巧

playbook的格式是YAML.以下是一个playbook的范例:

阅读全文 »

Ansible变量

发表于 2018-08-26 | 分类于 Ansible |

Ansible变量

ansible有多重方式定义变量,还可以通过fact来获取变量.接下来学习一下ansibled 变量知识


阅读全文 »
1…131415…21
Jesse

Jesse

求知若饥,虚心若愚.

209 日志
44 分类
41 标签
RSS
© Tue Jun 12 2018 08:00:00 GMT+0800 (GMT+08:00) — 2021 Jesse