craigpearson.trellis_ca_certificates

Trellis CA 证书

Trellis Ansible 角色,用于将自定义 CA 证书添加到 OpenSSL 的受信存储。非常适合用于需要 SSL/TLS 连接的 Digital Ocean 受管数据库 ,如 MySQL。

要求

安装

添加到要求中

# trellis/galaxy.yml
- name: trellis-ca-certificates
  src: craigpearson.trellis_ca_certificates

包含在配置剧本中

要在您的暂存/生产服务器上添加此功能,请在 trellis/server.yml 中包含此角色。

# trellis/server.yml
...
- name: WordPress 服务器 - 安装具有 PHP 7.3  MariaDB MySQL  LEMP 堆栈
  hosts: web:&{{ env }}
  become: yes
  roles:
    - { role: common, tags: [common] }
    ...
    - { role: sshd, tags: [sshd] }
    - { role: trellis-ca-certificates, tags: [ca-certificates] } # 推荐的包含点
    - { role: mariadb, tags: [mariadb] }

如果您在开发服务器上需要此功能,则应将其添加到 trellis/dev.yml

设置要包含的证书

在生产环境中,我们将添加到 trellis/group_vars/production/main.yml

# trellis/group_vars/production/main.yml
trellis_ca_certificates_trusted:
  # 本地源:         trellis/certs/production/example-certificate.crt
  # 远程目标:       /usr/local/share/ca-certificates/database.crt
  - name: database
    src: example-certificate.crt

包含 .crt 文件

默认情况下,此角色会在 trellis/certs 中查找您的证书,例如:

trellis/
├── bin/
├── certs/                            # → 源证书文件夹
│   ├── development/                  # → 开发证书
│   ├── staging/                      # → 暂存证书
│   └── production/                   # → 生产证书
│       └── example-certificate.crt
└── deploy-hooks/

现在只需执行配置即可。

角色变量

配置自定义证书

配置所需的唯一变量是证书的受信源列表。应放在 trellis/group_vars/{{ env }}/main.yml 中,其中 {{ env }} 是开发、暂存或生产。

注意: 您的源证书会重命名并放入指定的目标中,如 name 所示,例如:

# 这是可能值的示例,此值默认为 []
trellis_ca_certificates_trusted:
  # 本地源:         trellis/certs/{{ env }}/example-certificate.crt
  # 远程目标:       /usr/local/share/ca-certificates/database.crt
  - name: database
    src: example-certificate.crt
  # 本地源:         trellis/certs/{{ env }}/db-master.crt
  # 远程目标:       /usr/local/share/ca-certificates/database/master.crt
  - name: database/master
  - src: db-master.crt
  # 本地源:         trellis/certs/{{ env }}/db-slave.crt
  # 远程目标:       /usr/local/share/ca-certificates/database/slave.crt
  - name: database/slave
  - src: db-slave.crt

源目录

要将证书文件存储在不同于 trellis/certs/{{ env }} 的文件夹中:

# 默认为 trellis/certs/env - 其中 env 是开发、暂存或生产
trellis_ca_certificates_local_dir: custom-local-directory/{{ env }}

远程目标目录

除非您已将远程 OpenSSL 配置为在其他目录中查找证书,否则您无需更改此项。

# 默认为 OpenSSL 受信存储在 Ubuntu 18.04 上
trellis_ca_certificates_remote_dir: /usr/local/share/ca-certificates
关于项目

Trellis role which allows you to add custom CA Certificates to the OpenSSL's trusted store.

安装
ansible-galaxy install craigpearson.trellis_ca_certificates
许可证
gpl-3.0
下载
3.3k
拥有者
Just another WordPress developer